Espresso测试输出在控制台中截断,如何获得完整结果?

时间:2018-03-23 15:23:40

标签: android testing gradle output android-espresso

当使用多行输出测试失败时,我发现Gradle和Android插件会截断结果。例如,如果异常消息有12行,则控制台中只显示3行。其他12行以及堆栈跟踪最终生成在生成的HTML和XML结果文件中,但我希望能够将此输出也放在控制台中。

以下是控制台中显示的内容:

com.company.espressoTests.tests.FailTest > thisTestWillFail[Pixel 2 - 8.1.0] FAILED 
    java.lang.Throwable: class java.lang.AssertionError
    Whoops, true != false

以下是Android Studio中显示的内容,生成的HTML结果文件以及生成的XML结果文件:

java.lang.Throwable: class java.lang.AssertionError
Whoops, true != false
Failed as it should

thisTestWillFail FAILED!
Steps to reproduce:
    1. Setup Complete, starting test.
    2. This is an action
    3. This is a second action
    4. More actions!
    5. Test finished.
End Actions.
(Followed by a full stack trace)

我尝试过使用--info, - debug和--stacktrace,但没有一个产生结果。我还修改了单元测试的测试选项,要求完整的堆栈跟踪输出,甚至要求测试的System.out和System.err输出显示在控制台上。这些选项都没有改变测试失败的输出。

我相信这需要使用Android插件而不是Gradle做更多事情,因为通过我们的Appium测试,我们能够毫无问题地完成此输出。

我们正在使用测试规则从测试失败中捕获异常(以下示例中的t),并向其添加一些输出:

 Throwable newError = new Throwable(t.getClass() + "\n"
                        + t.getMessage() + "\n\n"
                        + method.getName() + " FAILED!\n"
                        + "Steps to reproduce:\n"
                        + ActionLog.instance().getActions());
                newError.setStackTrace(t.getStackTrace());

遗憾的是,缺乏Espresso测试选项的Android Gradle插件文档。有谁知道为什么会被截断,以及如何在控制台上打印这些信息?谢谢!

0 个答案:

没有答案