在做tdd时,往往会在开发工程平级的目录下建一个对应的test工程。
结构如下
solusion
----lunaService(开发工程)
----lunaServiceTest(对应的测试工程)
在进行Nunit测试的时候,虽然测试工程里引用了开发工程的dll,因而可以调用开发工程的公有函数。
但是开发工程的配置文件(诸如web.config)不会被编译到dll里去。这样测试工程就会到bin目录下(而不是开发工程的目录)找对应的文件(程序名+.config)。
比如bin目录下的测试程序叫lunaService.dll。那么对应的配置文件就默认为lunaService.dll.config
为了能让测试工程读到配置文件的设定。每次都得手动把开发工程的web.config考到测试工程的bin目录下,显然很麻烦。
我们可以在测试工程的编译后处理中加入一条command.比如下面这个样子:
copy $(SolutionDir)/lunaService/Web.config $(TargetDir)/lunaServiceTest.dll.config