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