在Travis CI上执行检测测试时出现AssertionFailedWithCauseError

时间:2019-02-17 13:19:54

标签: android travis-ci android-espresso android-testing

我正在基于Espresso中的Android project 2.2.2运行仪器测试。当我在不同设备(例如Nexus 5手机(Android 6.0.1)和Nexus 9平板电脑(Android 7.1.1))上针对不同设备本地运行所有测试时,成功以下命令:

./gradlew testDebug connectedCheck --stacktrace -PdisablePreDex

一旦我使用此configuration在Travis CI上运行了相同的任务,然后其中两个测试失败并带有令人困惑的错误消息:

CityInfoFragmentTest > renderCityInfoWithStandardZone[test(AVD) - 4.3.1] FAILED 
    android.support.test.espresso.base.DefaultFailureHandler$AssertionFailedWithCauseError: 

    'with text: is 
    "Since May 1, 2014 only vehicles with a green sticker are allowed to drive into the low emission zone."
    ' doesn't match the selected view.

    Expected: with text: is 
    "Since May 1, 2014 only vehicles with a green sticker are allowed to drive into the low emission zone."

如您所见,实际文本和预期文本匹配!!!


我没有使用Espresso 3.0.2,因为其中有一个bug which prevents running tests on certain devices

1 个答案:

答案 0 :(得分:1)

构建日志中的行1500 & 15011562 & 1563解释了出了什么问题。这是一个片段:

  

预计:带文字:“自2014年5月1日起,只有带有绿色标签的车辆才能进入低排放区。”

     

注意:text =从2014年5月1日起,只有带有绿色标签的车辆才能进入低排放区。

期望的字符串以“ Since”开头,而实际的字符串以“ As of”开头

您是否在测试中对字符串进行硬编码?如果是这样,您不应该:)