java - 为什么 JUnit 不在与测试相同的包中调用显式无参数 ctor

标签 java junit nullpointerexception

简单的 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/

相关文章:

java - ANTLR4 语法仅匹配解析器规则的第一部分

java - 如何让 log4j syslog appender 在一行中写入堆栈跟踪?

java - Gradle项目中的测试问题

unit-testing - 如何在 Controller 内部模拟服务方法以使用JUnit在grails中进行单元测试以及何时使用模拟 Controller

java - Owasp.CsrfGuard.Test 出现 NullPointerException

java - 使用 andengine GLES2 通过引用传递 Sprite 会导致空指针异常

java - (已修复)如何在动态数组(文件、流、缓冲区)上查找一个字符串值?

java - 您可以启动一个 Activity 作为其自身的实例吗?

xml - Jenkins测试结果解析

java - 线程联网导致空指针异常