我想让TravisCI或其他一些GitHub应用程序根据我提供的脚本自动修改拉取请求。我怎样才能做到这一点? (或者可能有一个比我想出的更好的解决方案。)
原因:
我正在尝试将集成测试添加到GitHub项目中,以便它自动运行项目并将输出与已知的良好输出进行比较。如果存在差异,则应报告错误。
但是,我的测试在多个平台上运行并使用不同版本的库。平台和库的不同组合导致不同的输出,全部有效。例如,旧版本的库可能会进行与新版本不同的优化,因此输出不同但都有效。
由于难以为每个可能的库组合生成输出,我认为TravisCI可以生成它们并代表PR作者将它们添加到pull请求中。
或者完全不同的系统测试解决方案也可以。谢谢!
更具体的例子:
我正在处理的项目是pcb2gcode。它将电路板布局(gerbers)转换为CNC机床(g代码)的指令,以铣削和钻孔板。根据某些库的版本,例如boost和gerbv,输出可能略有不同但仍然有效。
我希望有一个自动运行的测试gerber目录,并与预期的输出进行比较,这些输出已经提交到github。如果实际输出与预期输出匹配,则测试通过。
但预期的输出取决于库。一种解决方案是为不同的库组合提供预期的输出。然后根据正确的预期输出集进行比较。
生成这些预期的输出很困难,因为开发人员需要使用所有库组合来运行代码。无论如何,TravisCI正在运行测试和生成输出,因此它也可以将这些新的预期输出写入PR。然后所有测试都将通过,并且在代码审查期间可以与PR的其余部分一起检查预期的输出。
或其他一些更好的系统测试方法!