如何配置Visual Studio来运行xUnit.net测试?

11

我已经通过设置项目设置 | 调试 | 启动外部程序来配置Visual Studio 2010以便调试xUnit.net测试。

这个方法可以正常工作,但只有在通过命令行参数提供测试项目dll文件的完整路径时才能使用,例如:"c:\development\TestProject.dll"

我尝试过在命令行参数部分使用$(BinDir)$(TargetName)$(TargetExt)作为参数,但它不起作用。您有什么建议可以避免显式/完整路径?


回答了自己的问题 - MW_dev
4个回答

6
这是我在.csproj文件中使用的代码,用于将xUnit GUI运行器作为启动操作:
<PropertyGroup>
  <StartAction>Program</StartAction>
  <StartProgram>$(MSBuildProjectDirectory)\..\..\Packages\xunit.runners.1.9.1\tools\xunit.gui.clr4.exe</StartProgram>
  <StartArguments>"$(MSBuildProjectDirectory)\$(OutPutPath)$(AssemblyName).dll"</StartArguments>
</PropertyGroup>

为了让这个工作正常运行,您只需要安装 xUnit.net运行器 NuGet包即可:
PM> Install-Package xunit.runners

目前唯一的缺点是它是版本特定的,所以每次更新 NuGet 包到最新版本时,您应该更新此配置以指向正确的运行程序。


6

在James和Brad对xUnit.net Runners进行了大量改进之前,已经有人回答了这个问题。请参见下面michielvoo的答案。

为了避免显式指定库名称的问题,可以使用cmd.exe和命令行参数:/C xunit.console.exe $(BinDir)$(TargetName)$(TargetExt)

勾选使用输出窗口

使用工具|选项|键盘配置来分配快捷键。


2
一种替代方法是使用VS插件作为测试运行器,例如ReSharper。

1
可以在这里找到适用于Resharper的xunit测试运行程序:http://xunitcontrib.codeplex.com - Dan Kendall

0

我只需键入程序集的完整名称就可以了。

在命令行参数下:SharedDataBridge.Tests.dll


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接