我正在使用 XCode 在 C++ 中进行测试驱动开发。
我突然想到,如果 XCode 可以在我每次保存时自动构建和运行我的测试,我会节省很多时间。
有没有办法做到这一点(通过脚本 XCode 或其他方式)?谷歌似乎没有任何线索。
我在使用解释语言时看到了这个工作流程,它确实提高了生产力。
假设我的机器足够快,可以在几秒钟内构建和运行测试。
如果您的目标是 C++,那么您可能不走运。
使用 Objective-C,有一个名为 «Injection» 的项目:http:
//injectionforxcode.com/
它跟踪对项目文件的更改,当发生更改时,它将文件重新构建为类别,放置在包中。
然后捆绑包被动态加载到正在运行的应用程序中,并且类别中的内容会替换正在运行的代码。
但它是Objective-C。C++ 没有这样的运行时和能力。无论如何,你可能想看看它...... :)
不,我不认为这是可以做到的。
大多数项目不会在几分之一秒内构建和测试,这需要它在每次保存时(即,每当 Xcode 自动保存时)都切实可行。
为了获取 Xcode 的实时错误和警告,我们在基础架构上做了很多工作。只要您的项目不太奇怪,那些实时错误应该为实际构建它提供一个很好的代理。
对于测试,如果您还没有使用持续集成,您可能需要研究它。
在自动保存之前长大的灰胡子可能已经养成了偶尔使用键盘命令手动保存的习惯。此类用户可以通过将运行测试的键盘命令替换他们用于手动保存的键盘命令来改变这种习惯。
自动地?不。您可以编写自己的 fsevent 监控代理。当发生需要重建的更改时,请执行适当的操作。
解决此问题的简单方法:您可以配置 xcode 以在构建时保存。您不需要明确保存,只需在启用此首选项的情况下点击运行。从这个意义上说,点击运行就像点击保存一样简单,当你点击运行时,它会以正确的顺序执行保存、构建和运行。您可能需要一个中间目标或方案。
另一种选择是使用 vc 提交作为构建和运行测试的触发器(看到您的评论:使用分支)。