3

AppHarbor 可以在构建期间设置条件编译符号吗?也许很简单:AppHarbor

我有一些无法在服务器上运行的测试(它们依赖于测试数据文件)。

如果 AppHarbor 可以设置条件编译符号,那么当该符号存在时,我可以在测试中添加一个 [Ignore] 属性。

或者,在 AppHarbor 运行时是否有更好或不同的方法来忽略特定测试?

或者,有没有办法让测试代码正确引用项目中的测试数据文件?

谢谢!格伦

编辑:我通过将数据文件作为资源嵌入到测试项目中来进行测试。不理想,但目前还可以。但是,仍然想知道是否可以按照描述设置编译符号。

4

2 回答 2

4

设置“AppHarbor”编译符号是一个有趣的建议,但目前 AppHarbor 不支持它。您可能希望将其添加为功能请求

运行测试时,EnvironmentappSetting 设置为test. 您可以有条件地使用它来跳过某些测试。如果您希望拥有自己的配置,您可以使用Web.Test.Config文件来应用任何必要的转换,以便确定是否应该运行测试。

本文介绍了这两种方法。

一般来说,我的建议是避免依赖运行测试时不存在的文件。这也将使应用程序在任何 CI 环境中工作。正如您所描述的,将文件作为嵌入式资源包括在内是一个选项,但也应该可以将其包含在您的项目中,并将Build Action属性设置为Content,并且它将在输出目录中可用。

于 2012-02-22T06:29:14.087 回答
0

想要添加到@runesorensen 的答案:您想要忽略测试的每个测试项目都应该有 app.config 文件,否则“环境”应用程序设置将为空。

于 2013-03-14T19:55:27.973 回答