【发布时间】:2013-03-20 09:04:28
【问题描述】:
我正在对基于 Play 框架的应用程序进行单元测试。正如我在文档中所读到的,为了清除状态,在每次测试之前我都会重新加载这样的固定装置列表:
@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
【问题讨论】:
-
每次运行时是否调用 setup()?
-
你在哪里插入你的用户对象到数据库?
-
试试
@BeforeMethod- 而不是@Before。 -
Fixtures.load 中的@baraky...
-
@Sudhanshu,是的,这就是为什么我把日志记录放在最后
标签: java unit-testing playframework playframework-1.x