我有一个测试课,其中我有六个espresso测试。如果我运行测试类,三次通过,三次失败。
如果我单独运行每个测试,则所有测试都按预期通过。其中一些有竞争条件(api请求)所以我理解那些和我正在使用idlingResource,但其他人没有,例如有一个noMatchingViewException android.support.test.espresso.NoMatchingViewException: No views in hierarchy found matching: with text: is "Sort by best match"
这是不正确的,因为视图在那里,并在测试时找到它是自己运行的,然后按预期传递。
我只是想知道是否有人遇到过此问题,如果是这样的话,你可以分享一下如何修复它。
答案 0 :(得分:1)
如果您的某个测试正在进行更改而第二个测试依赖于vanilla状态,请确保重置App-State。 您可以使用@Before和@After Annotations设置/重置应用程序状态
检查应用中的竞争条件和异步流程
在慢速测试设备上,执行(click())有时会导致长按操作:Android Espresso performs longClick instead of click
我在这里找到了一个非常好的原因和解决方案摘要:https://semaphoreci.com/community/tutorials/how-to-deal-with-and-eliminate-flaky-tests
我偶然发现了这个问题,因为我们还试图通过随机失败的测试,似乎没有任何上述原因。