请参阅Android Studio中的测试输出(stdout)
我已经阅读了所有与此相关的问题,但没有任何东西对我有效请参阅Android Studio中的测试输出(stdout),android,unit-testing,android-studio,junit,Android,Unit Testing,Android Studio,Junit,我已经阅读了所有与此相关的问题,但没有任何东西对我有效 Android studio版本:2.3.3 编译DK25版 buildToolsVersion“26.0.1” Gradle构建工具版本:2.3.3 我正在尝试做一些非常简单的事情。当我运行测试时,我希望看到测试的输出。下面是一些示例代码: // MyClassTest @Test public void myMethodTest() throws Exception { System.out.println("Hello f
- Android studio版本:2.3.3
- 编译DK25版
- buildToolsVersion“26.0.1”
- Gradle构建工具版本:2.3.3
// MyClassTest
@Test
public void myMethodTest() throws Exception {
System.out.println("Hello from myMethodTest!");
int res = Whitebox.invokeMethod(MyClass.class, "myMethod", arg1, arg2);
assertThat(res, is(1));
}
// MyClass
private int myMethod(int arg1, int arg2) {
System.out.println("Hello from myMethod!");
return 0;
}
白盒的东西在这里可能并不重要,但我只是为了以防万一才把它包括进去。当我运行这个程序时,它告诉我断言失败了。我还获得了“Hello from myMethodTest”
输出,但我无法查看“Hello from myMethod”
输出。这使得我很难找出我的方法哪里出了问题。我正在砍伐的木材也没有出现
我已经尝试通过GUI和控制台运行测试,使用
gradle
和gradlew
,以及所有不同的选项(--info
,--stacktrace
,等等)。我也试过所有的东西,还有。当然这是可能的,谢谢。奥卡姆的剃刀说,myMethod()
没有被调用。您没有得到日志输出(同时有证据表明其他地方的日志记录工作正常),并且基于结果的断言失败
知道木材产量没有出现在这些单元测试中也很好
我还没有在单元测试中使用过Timber,不知道在没有Android的情况下,它会做什么。这是仪器测试(
androidTest/
)还是单元测试(test/
)?单元测试。如果有帮助的话,我正在使用Powermockito。我试着在Windows机器和Mac机器上解决这个问题,我试着升级到3.0.0构建工具,但同样没有帮助。奇怪的是,常规的测试标准很难找到。嗯。。。即兴说来,感觉好像没有调用myMethod()
(大概是通过Whitebox
东西中的某个地方的反射)。你有什么证据证明它被称为?哦,我的上帝,多么有洞察力。我不敢相信我没有想过要测试这个。我刚刚创建了一个常规的公共方法,相当于带有print语句的MyClass
,它就出现了。这么简单的事情,看在完全错误的地方。非常感谢,我非常感激!很高兴知道木材产量没有出现在这些单元测试中。非常感谢。如果我确信stdout将出现在测试输出中,我也会有希望得出这个结论,但我没有首先向自己保证这一点。谢谢