gpt4 book ai didi

android - 如果测试项目失败,如何编写 Git 预提交 Hook 以防止提交 Android 项目?

转载 作者:行者123 更新时间:2023-11-28 20:32:55 25 4
gpt4 key购买 nike

鉴于我在我的工作区中有一个 android 项目 MyAndroidProject 和我的测试项目 MyAndroidProjectTests 目录,我如何编写一个将运行测试的预提交 git 钩子(Hook)在 MyAndroidProjectTests 中,如果测试失败则拒绝提交任何代码更改?

当我在终端上运行测试时,它们通常有这样的输出:

com.mydomain.tests.Models.MyProjectTests:.......
Test results for InstrumentationTestRunner=.......
Time: 0.05

OK (10 tests)

除了解析最后一行的输出(例如 OKFAILED 我不确定我是否非常喜欢这种方法。理想情况下,我希望从用于在终端上运行测试的命令返回状态:

adb shell am instrument -w com.mydomain.tests/android.test.InstrumentationTestRunner

我想在我可以放在 .git/hooks/ 文件夹中的 shell 脚本中使用响应作为预提交 Hook 。

如果有任何信息或指向其他资源的链接,我将不胜感激,在此先感谢您。

最佳答案

git 钩子(Hook)是从你的项目/repo root 执行的 - 所以你应该能够直接在预提交钩子(Hook)中使用你的命令:

#!/bin/bash
adb shell am instrument -w com.mydomain.tests/android.test.InstrumentationTestRunner

如果 adb 在失败时返回一个非零的存在代码 - 提交将被中止。

如果您出于其他目的需要获取退出代码,可以使用 other questions明确指出如何做到这一点。

关于android - 如果测试项目失败,如何编写 Git 预提交 Hook 以防止提交 Android 项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10234192/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com