简单的 JUnit 测试,与被测代码位于同一包中,但位于不同的源 (src) 文件夹中。抛出 NullPointerException,因为我的 JUnit 代码似乎没有调用被测源中的无参数构造函数。没有语法错误。为什么我的 dao 为空?
已调试,但没有达到预期的目标。
// In src folder:
package com.dao.pkg;
public class PTests {
Processor p;
@Before
public void setUp() throws Exception {
DAO dao = new MockDAO();
p = new Processor(dao); // dao is null!!!!
}
...
}
// And in the test src folder:
package com.dao.pkg;
public class MockDAO implements DAO {
public MockDAO() {
System.out.println("testing that ctor is being hit");
}
...
}
dao 对象应该被创建(nonNull),并且不是(is Null)
最佳答案
对于这个明显过时的项目,执行 Maven(或 Gradle)更新是必要的。问题解决了。
关于java - 为什么 JUnit 不在与测试相同的包中调用显式无参数 ctor,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56747676/