0

我有一个问题想知道是否可以以特定方式解决。

我希望能够在将在 TeamBuild 服务器上运行的 MSBuild 脚本中传递参数或设置某种变量。

此参数将用作在 MSTest 中设置 TestFixture 的条件,以确定要使用的类的具体实现。在构建服务器上运行时它将是一个模拟版本,而在开发人员机器上运行时是对物理资产的引用。

这很容易吗?我可以设置一个环境变量,但如果 MSTest 和 MSBuild 中有特定的东西可以使用,我会更喜欢。

4

2 回答 2

1

我发现的最简单的方法是编写配置文件。MsBuild 社区任务使这成为可能。

于 2009-05-11T07:18:21.747 回答
0

作为 xUnit 指南,测试不应接受参数。它们应该只运行而无需有人配置它们。

public void TestMethodName()

您的需求似乎更倾向于依赖注入。对于像Spring.Net这样的框架更适合。

更新:
根据您的评论,您似乎只需要一个类似于#define BUILD 的开关。尝试条件编译符号(项目设置>构建)与 ReplaceCollaboratorsForBuildServer 方法相结合,该方法用ConditionalAttribute修饰并在 testFixture 设置方法结束时调用。

于 2009-01-20T10:49:14.113 回答