play框架测试问题

发布于 2021-11-21 20:30:36 字数 975 浏览 781 评论 5

刚开始着手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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

冬天旳寂寞 2021-11-22 12:38:17

不是啊 我这个就是2.0的

挽清梦 2021-11-22 11:51:56

@jeffsui 啊?为什么我的不行呢,请问你是怎么操作的呢

躲猫猫 2021-11-22 11:51:41

在浏览器显示测试结果,是只有1.x才有的吗

冷默言语 2021-11-22 09:05:54

恩,和我查询后的结果是相符的,我运行了两遍testcase 数据库中存在了两条记录,因此我的断言在第二次运行的时候就报错了。 看来我得好好看看jpa相关知识了,谢谢你的解答。

英雄似剑 2021-11-22 01:44:42

Play 会根据请求自动开启事务并在请求结束后关闭事务.

通过 JPAPlugin.startTx 方法可以追查到 PluginCollection.beforeInvocation  方法进行阅读.    

你上面的错误是因为 Post 的数量与你测试的不一致.   expected 1 but was: 3   

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文