使用 MongoDB 时进行框架测试和访问会话对象
在 play 框架 application.conf 中有几行:
%test.db.url=jdbc:h2:mem:play;MODE=MYSQL;LOCK_MODE=0
%test.jpa.ddl=create
But I am using MongoDB with Morphia.如何更改上述测试设置? 请注意,我没有使用 play 框架吗啡模块。
从技术角度来看,每个单元测试都会有自己的内存实例 mongodb 测试数据库。如何做到这一点?
此外,当我在功能测试和单元测试中的测试代码中使用会话对象时,我得到编译错误值“session not found”。如何在测试代码中访问会话?
In play framework application.conf there are lines:
%test.db.url=jdbc:h2:mem:play;MODE=MYSQL;LOCK_MODE=0
%test.jpa.ddl=create
But I am using MongoDB with Morphia. How do I change above settings for testing?
Note that I am not using play framework morphia module.
From technical point of view, each unit test would have its own in memory instance of
mongodb test database. How to make that happen?
Also when I use session object in test code both in functional and unit tests, I get compile error value session not found. How to access session in test code?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
没有办法修改这些设置来创建“mongodb 的内存实例”。如果您希望每个单元测试都有一个干净的数据库副本,则必须设置和保存数据库。为每个测试在 mongodb 中拆卸数据库的新副本。
您可以使用 Scope.Session.current() 在功能测试中直接获取会话 cookie。
There isn't a way to modify those settings to create an "in memory instance of mongodb". If you want each unit test to have a clean copy of the database, you'll have to setup & teardown a new copy of your database in mongodb for each test.
You can grab the session cookie directly in your functional tests using
Scope.Session.current()
.