我正在使用运行几个测试项目的自定义工作流程。其中一些项目使用数据库(我知道这应该在单独的上下文中,但我无法更改测试代码)来运行一些测试用例。
我不知道它是否相关,但我使用 XUnit 作为测试框架并使用 nhibernate 作为 ORM。
我所做的是创建一个自定义活动,该活动在 SQLEXPRESS 服务器中为测试项目设置所有必要的数据库并临时附加它们,该活动还修改了指向我创建的临时数据库的 .config 文件。到现在为止还挺好。
这里的问题是我不想拥有不幸过时的 .mdf 模板(由于逻辑数据库更改)并且必须手动更新。
我面临的另一个问题是,模板不仅破坏了这个过程的自动化,而且从构建定义中访问这些项目的开发人员也无法轻松地在他们的机器上本地启动测试。他们必须获取 MDF、挂载数据库、配置测试项目并运行。太多的操作无法让开发人员有意愿对他们的代码进行单元测试。
最好的方法是什么,或者有人对我应该从哪里开始寻找可能的解决方案有任何建议吗?
谢谢!