背景:
目前,我们有大约 10 个单元/集成测试项目,这些项目针对数据库进行测试。命中数据库的每个测试类都继承自一个名为的类,该类IntegrationTest
位于一个名为TestBase
. TestBase
包含一个配置文件 (nhibernate_log4net.cfg.xml),其中包含到数据库的连接字符串。
我们的开发团队大约有 7 或 8 人。如果两个团队成员同时运行单元测试,就会出现冲突,因为很多测试都在添加和删除许多测试中常见的数据。这将导致两个开发人员之间的测试错误地失败。
布局:
TestBase.dll
IntegrationTest.cs(包含[DeploymentItem("nhibernate_log4net.cfg.xml"] )
nhibernate_log4net.cfg.xml
nhibernate_log4net.cfg.Developer 1.xml(转换文件)
nhibernate_log4net.cfg.Developer 2.xml(转换文件)
。 ..
UnitTest.dll
参考 -> TestBase.dll
MyUnitTest.cs(从TestBase.dll中的 IntegrationTest 继承)
问题:
我的想法是对团队中每个开发人员SlowCheetah
的 dll 中的配置文件使用 xml 转换,TestBase
但转换后的文件不会复制到单元测试的Out目录。基本配置文件(未转换的)是复制到Out目录的文件。我有一种感觉,这是因为[DeploymentItem("nhibernate_log4net.cfg.xml")
我必须首先使用该属性来获取配置文件。
有没有办法在一个单独的 dll 中包含的 xml 配置文件上使用 xml 转换,而不是单元测试项目?