play框架测试问题
刚开始着手play框架,开始写test case
遇到一个小问题,如何释放数据库
@Test public void createPost(){ User jeff= new User("jeff@163.com","jeffsui","123143").save(); new Post(jeff,"my first post","Hello world").save(); assertEquals(1, Post.count()); List<Post> jeffPosts=Post.find("byAuthor", jeff).fetch(); assertEquals(1,jeffPosts.size()); Post firstPost = jeffPosts.get(0); assertNotNull(firstPost); assertEquals("jeffsui", firstPost.author); assertEquals("my first post", firstPost.title); assertEquals("hello world", firstPost.content); assertNotNull(firstPost.postedAt); }
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
不是啊 我这个就是2.0的
@jeffsui 啊?为什么我的不行呢,请问你是怎么操作的呢
在浏览器显示测试结果,是只有1.x才有的吗
恩,和我查询后的结果是相符的,我运行了两遍testcase 数据库中存在了两条记录,因此我的断言在第二次运行的时候就报错了。 看来我得好好看看jpa相关知识了,谢谢你的解答。
Play 会根据请求自动开启事务并在请求结束后关闭事务.
通过 JPAPlugin.startTx 方法可以追查到 PluginCollection.beforeInvocation 方法进行阅读.
你上面的错误是因为 Post 的数量与你测试的不一致. expected 1 but was: 3