0

在我当前的.Net 4.0解决方案中,我有一个包含大量XML文件作为嵌入式资源的项目。这些文件有很多开发活动,我的团队中的一位开发人员很可能会忘记将特定XML文件的构建操作设置为嵌入式资源。在Visual Studio和Team Build中为嵌入式资源创建自动测试?

我已经做了什么来确保这种情况没有发生,并且完美适用于VS2010中的本地构建,那就是在NUnit中创建一个自动化测试,使用Assembly.GetManifestResourceNames()来计算资源数量,然后将其与文件数量在我的资源组件的正确的源目录子树中。只要这些匹配,就意味着所有文件都具有正确设置为“嵌入资源”的构建操作。

现在,我的问题是,我的测试使用相对路径来查找资源项目中的文件的目录和生成服务器(它使用TFS2010)上的工作目录是不一样的。

解决此问题的最佳方法是什么?我曾想过使用环境变量,这些变量可以在开发人员机器和构建服务器上以不同方式设置,但理想情况下,我希望在开发人员计算机和构建服务器上需要最少量的配置。

回答

2

好吧,这是我结束了解决方案:

  1. 的测试检查使用Environment.GetEnvironmentVariable特定的环境变量,如果没有设置使用了在使用Visual Studio 2010开发机器工作的相对路径,否则它使用环境变量中的路径

  2. 对于构建服务器(团队构建),我为构建过程设置了一个参数以等于环境变量,然后在我的NUnit任务中,我将NUnit环境变量设置为值的构建参数。

该解决方案使建立新的开发人员机器无忧无虑,但如果他们偏离默认路径设置,则可能需要一些配置代理构建代理。

相关问题