1
鉴于我在我的工作空间,我有一个Android项目MyAndroidProject
和我的测试项目MyAndroidProjectTests
目录我怎么能写一个预先提交git钩子,将运行MyAndroidProjectTests
中的测试,并拒绝提交任何代码更改,如果测试失败?如何编写一个Git预提交钩子,防止在测试项目失败时提交Android项目?
当我运行在终端上测试他们通常有一个像这样的输出:
com.mydomain.tests.Models.MyProjectTests:.......
Test results for InstrumentationTestRunner=.......
Time: 0.05
OK (10 tests)
什么我不能确定的是如何使用什么尝试,以确定是否测试通过或者比分析失败其他最后一行的输出(例如OK
或FAILED
,我不确定我是否喜欢这种方法,理想情况下,我希望从我用于在终端上运行测试的命令返回状态:
adb shell am instrument -w com.mydomain.tests/android.test.InstrumentationTestRunner
我想在shell中使用响应sc ript,我可以放置在.git/hooks/
文件夹作为预先提交钩子。
我希望任何信息或其他资源的链接,并提前非常感谢。
在预提交钩子中添加长时间运行的任务通常是一个坏主意,因为它阻止了你的工作。这样的检查应该在一个CI系统上进行,该系统将关闭提交的测试合并。 – sschuberth 2015-11-18 08:41:20