cmo*_*opm 10 testing android android-espresso
谷歌最近发布了Android测试支持库1.0.阅读概述后,我对Android Test Orchestrator感到困惑.
它说
通常,AndroidJUnitRunner在同一个检测过程中运行所有测试,这可能会导致许多问题.
您能解释一下使用相同的仪器过程会导致哪些类型的问题?
如果一个测试崩溃,它会阻止测试套件的其余部分运行
根据我的经验,一次测试崩溃不会阻止其他测试用例运行.请指出我在这里误解了什么?
并且来自Android Testing Orchestrator开发人员指南,
为了完整性,Android Test Orchestrator在每次测试后运行pm.
所以Android Test Orchestrator会在每次测试后运行pm clear [test_package_name],对吧?
通过我的测试,每次测试后都不会执行pm clear [app_package_name].这意味着将不会清除被测应用程序的数据.因此,测试用例可能仍然存在彼此依赖关系.例如:
总的来说,经过一些试验,我没有发现Android Test Orchestrator的任何优势.有人可以帮助解决我的困惑吗?谢谢.
zwe*_*bie 15
在研究了这个问题后,我可以提供以下答案:
通常,AndroidJUnitRunner在同一个检测过程中运行所有测试,这可能会导致许多问题.
如前所述,AndroidJUnitRunner运行在相同的检测过程中,因此基本上您的测试运行状态为满,如果您的测试对进程状态有某种依赖性,这可能会造成严重破坏.在Android测试编排器中,每个测试都在自己的进程中运行,因此依赖性不是问题.
如果一个测试崩溃,它会阻止测试套件的其余部分运行
这里遇到的崩溃是流程崩溃,而不是活动/应用程序崩溃.您可以通过在一个测试中插入测试来测试这一点System.exit(0);
通常,这将在Android测试编排器中停止整个测试运行,测试将按预期继续.
为了完整性,Android Test Orchestrator在每次测试后运行pm.
基本上,使用Android测试协调器的优势在于每个测试的单独过程,这可以提高稳定性并确保完全执行测试.
归档时间: |
|
查看次数: |
2669 次 |
最近记录: |