我得到一个使用MongoDB数据库的asp.net MVC应用程序。即时消息自动测试(BDD)它与SpecFlow和Selenium WebDriver,我想初始化我的数据库在导航到一些网址或一些acrions之前的一些状态。这样做有可能吗?
发布于 2012-10-30 05:32:49
可以做到这一点吗?
是!
我已经通过以下方式做到了这一点:
1.当测试初始化时-生成测试数据库(通过驱动程序以最简单的方式)。
users.Insert(new User(){ Id: "1", userName: "testUser" })2.进行备份(我已经使用mongodump完成了这项工作)
3.在开始测试之前,使用惟一的名称myApp_tests_guid创建db。将数据库名称保存在某个地方。
4.恢复数据库(mongorestore)
5.当测试完成或失败时--删除数据库。
6.对于一些特定的测试,可选的步骤是使用特定于测试的数据调整通用测试库。
就这样。我使用备份/恢复方法的原因是性能。另外,对于测试,请确保您已经禁用了安全模式和日志记录--这将使测试速度更快。
https://stackoverflow.com/questions/13122999
复制相似问题