11

我已将 Visual Studio 2010 配置为通过设置项目设置来调试xUnit.net测试| 调试 | 启动外部程序以运行 xUnit.net 控制台运行程序。

这工作正常,但仅当通过命令行参数提供测试项目 dll 的完整路径时,例如:“c:\development\TestProject.dll”

我尝试通过命令行参数部分使用$(BinDir)$(TargetName)$(TargetExt)作为参数,但它不起作用。关于如何避免显式/完整路径的任何建议?

4

4 回答 4

6

这个答案是在 James 和 Brad 与xUnit.net Runners的出色工作之前给出的。请参阅下面的 michielvoo 的答案。

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

检查使用输出窗口

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

于 2011-09-07T23:45:58.053 回答
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 Runners NuGet 包:

PM> Install-Package xunit.runners

到目前为止唯一的缺点是它是特定于版本的,因此每次将 NuGet 包更新到最新版本时,都应该更新此配置以指向正确的运行器。

于 2012-08-12T17:33:34.043 回答
2

另一种方法是使用 VS 插件作为测试运行程序。例如 ReSharper。

于 2011-08-19T19:11:11.580 回答
0

我只需键入程序集的全名即可。

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

于 2011-01-21T16:34:52.997 回答