我有一个使用MongoDB数据库的asp.net MVC应用程序。 我使用SpecFlow和Selenium WebDriver进行自动测试(BDD),我想在导航到某个URL或做出一些修改之前将我的数据库初始化为某个状态。有可能吗?
答案 0 :(得分:1)
有可能吗?
是!
我是通过以下方式做到的:
1.当测试初始化时 - 生成测试数据库(通过驱动程序以最简单的方式)。
users.Insert(new User(){ Id: "1", userName: "testUser" })
2.做备份(我用过mongodump来做)
3.在测试开始之前,使用唯一名称myApp_tests_guid创建db。将db name保留在某处。
4.Restore数据库(mongorestore)
5.当测试完成或出现故障时 - 删除数据库。
6.某些特定测试的可选步骤是使用测试特定数据调整常用测试数据库。
就是这样。我使用备份/恢复方法的原因是性能。此外,对于测试,请确保您已禁用安全模式和日记功能 - 它会使事情变得更快。