JUnit Test没有从UUT Class返回完整的StackTrace

时间:2018-02-28 12:36:16

标签: junit nullpointerexception java-8 log4j

我有以下Junit测试

@Before
public void setup() {
UUTClass myObject = new UUTClass();
}

@After
public void teardown() {
// cleanup
}

@Test
public void testSomeMethod() {
myObject.invokeSomeMethod(); // This is throwing NPE from somewhere inside my UUTClass
}

我不想使用expected=NullPointerException.class我想要的是从我的UUTClass记录堆栈跟踪。在我的测试方法中,我只能看到NullPointerException一个衬垫。

我正在使用Log4j记录所有内容,我在搜索路径中有log4j.xml,它确实被初始化程序接收。我可以看到我的记录器消息正在打印其他项目。

如何让Junit返回/传播我的UUTClass抛出的NPE的完整堆栈跟踪?我相信这可能是因为错误被重定向到错误控制台并且可能没有被log4j接收(不知道我是否解释了这一点)。

作为一种解决方法,我现在可能会使用printStackTrace()。但理想情况下,如果可能,我想记录下来。

我的意图是第一次了解设计中我错过了导致此NPE的条件/约束,然后构建更多测试以期望某些异常。 的问候,

0 个答案:

没有答案