我有一个问题,想知道是否可以以特定的方式解决。
我希望能够在将在TeamBuild服务器上运行的MSBuild脚本中传递参数或设置某种变量。
此参数将用作MSTest中TestFixture设置中的条件,以决定要使用的类的具体实现。它在构建服务器上运行时是模拟版本,在开发人员计算机上运行时是对物理资产的引用。
这很容易吗?我可以设置一个环境变量,但更喜欢MSTest和MSBuild中可以使用的特定内容。
答案 0 :(得分:1)
我找到的最简单的方法是编写配置文件。有一些MsBuild社区任务可以实现这一目标。
答案 1 :(得分:0)
作为xUnit指南,测试应该不接受参数。它们应该在没有人必须配置的情况下运行。
public void TestMethodName()
您的需求似乎更倾向于dependency injection。对于像Spring.Net这样的框架更适合。
<强>更新强>
从您的评论中,您似乎只需要一个类似于#define BUILD的开关。尝试条件编译符号(项目设置&gt;构建),以及使用ConditionalAttribute修饰的ReplaceCollaboratorsForBuildServer方法,并在testFixture安装方法的末尾调用。