我是.Net的新手,因此我不知道以下我所采用的方法是否正确,或者是否有更好的方法。有人可以建议吗?
我想为不同的环境(DEV,QA,UAT等)保留不同的配置,并根据环境配置和启动我的Nunit测试的用户输入负载。
我计划为ex-QA.resx,DEV.resx等创建不同的资源文件,然后根据用户输入加载特定的资源文件。
代表。
QA.resx will have
hostname=sample.qa.com
port=1234
DEV.resx will have
hostname=sample.dev.com
port=4321
然后在运行时如果我指定类似env = DEV的东西那么它应该从DEV.resx加载配置并开始运行测试用例。
这是一个好方法吗?
答案 0 :(得分:0)
这是一个好方法吗?
我不这么认为。
首先,您的单元测试不应该依赖于您正在使用的环境。真正的单元测试不应该有任何外部依赖,例如数据库,文件系统,外部服务等。因此无论是在开发人员工作站还是CI服务器上启动,UT执行都应该是相同的。
如果您的应用程序需要针对不同环境的不同配置(这是一种非常常见的情况),最好的选择是使用配置转换。查看this article了解详情。