java - 重新运行测试时出现 NullPointerException

标签 java unit-testing playframework playframework-1.x

我正在对基于 Play Framework 的应用程序进行单元测试。正如我在文档中读到的那样,为了清除状态,在每次测试之前我都会像这样重新加载灯具列表:

    @Before
    public void setUp() {
        Fixtures.deleteAll();
        Fixtures.load("data.yml");
        Logger.info("FIXTURES RELOADED");
    }

然后我转到基于 Web 的测试平台 (http://localhost:9000/@tests),选择一个处理获取一些数据的测试 (User u = User .findById(1l);) 然后对数据进行断言。有用。

但是,如果我尝试再次选择测试并重新运行它,它会失败并显示:

A java.lang.NullPointerException has been caught, Try to read name on null object models.User 

如果我完全停止应用程序并重新启动它,它会再次运行(第一次),但如果您每分钟执行 10 次,则启动和停止会花费一些时间并且非常乏味。

我正在使用 Play 1.2.5

最佳答案

问题是在每次测试时尝试获取 ID 为 1 的用户时自动递增用户 ID(在每次插入时)。

您可以获取新创建的用户 ID 并在您的测试中使用它,或者通过您肯定知道的其他字段查找用户。

关于java - 重新运行测试时出现 NullPointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15519196/

相关文章:

java - 返回实现接口(interface)的 java 类的类型

java - 担心在登录中使用 JSoup 时缺少属性

web-services - 如何模拟 WS 客户端并在 Camel route 提供响应

unit-testing - 单元异常 : File cannot be found

java - 更改play应用中Ehcache的持久化策略

java - 再次 : Postgres driver not found on Heroku with Play 2. 0/Java

java - 从 Java 应用程序发送时未在服务器中获取正确的 json

java - 在 XPath 表达式中使用整数变量 Java 从具有 namespace 的重复节点中提取信息

ios - 如何对 UIViewController 进行单元测试 - TDD/BDD

Java 玩吧! 2.0 eclipse