我们的项目的构建定义设置为持续集成,并在每次签入时运行所有单元测试。直到最近,当它开始拒绝一些适用于开发人员机器的测试时,它们都运行良好
片刻的检查显示,这是因为测试依赖于在app.config文件中指定路径的外部文件模板。它是开发人员机器可以访问的网络驱动器,但在构建服务器上不存在。
该项目是一个WPF应用程序。理想情况下,我将尝试重构代码,看看我是否可以绕过外部依赖。但如果我不能,或者只是为了满足我的好奇心,有没有办法编辑构建本身以使用或部署不同的配置文件?
答案 0 :(得分:2)
你有一个更大的问题:你的代码和你的测试依赖于一些随机的,外部的,不受控制的文件。该文件应该是与您的应用程序一起控制和部署的源文件。
您的测试中还有一个外部依赖项:它必须从文件系统中读取该文件。您可能希望使用标准的控制技术反转来破坏该依赖关系,以便测试可以在真正的隔离中运行,而无需在文件系统中存在任何文件。
答案 1 :(得分:1)
SlowCheetah应该适用于此用例。