配置TFS构建以使用与本地计算机不同的app.config进行测试吗?

时间:2016-01-21 16:39:36

标签: visual-studio-2013 tfs build

我们的项目的构建定义设置为持续集成,并在每次签入时运行所有单元测试。直到最近,当它开始拒绝一些适用于开发人员机器的测试时,它们都运行良好

片刻的检查显示,这是因为测试依赖于在app.config文件中指定路径的外部文件模板。它是开发人员机器可以访问的网络驱动器,但在构建服务器上不存在。

该项目是一个WPF应用程序。理想情况下,我将尝试重构代码,看看我是否可以绕过外部依赖。但如果我不能,或者只是为了满足我的好奇心,有没有办法编辑构建本身以使用或部署不同的配置文件?

2 个答案:

答案 0 :(得分:2)

你有一个更大的问题:你的代码和你的测试依赖于一些随机的,外部的,不受控制的文件。该文件应该是与您的应用程序一起控制和部署的源文件。

您的测试中还有一个外部依赖项:它必须从文件系统中读取该文件。您可能希望使用标准的控制技术反转来破坏该依赖关系,以便测试可以在真正的隔离中运行,而无需在文件系统中存在任何文件。

答案 1 :(得分:1)

SlowCheetah应该适用于此用例。

Nuget.org - SlowCheetah