在web上初始化数据库自动化测试

时间:2012-10-29 13:54:38

标签: asp.net-mvc mongodb selenium bdd

我有一个使用MongoDB数据库的asp.net MVC应用程序。 我使用SpecFlow和Selenium WebDriver进行自动测试(BDD),我想在导航到某个URL或做出一些修改之前将我的数据库初始化为某个状态。有可能吗?

1 个答案:

答案 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.某些特定测试的可选步骤是使用测试特定数据调整常用测试数据库。

就是这样。我使用备份/恢复方法的原因是性能。此外,对于测试,请确保您已禁用安全模式和日记功能 - 它会使事情变得更快。