我已将 Visual Studio 2010 配置为通过设置项目设置来调试xUnit.net测试| 调试 | 启动外部程序以运行 xUnit.net 控制台运行程序。
这工作正常,但仅当通过命令行参数提供测试项目 dll 的完整路径时,例如:“c:\development\TestProject.dll”
我尝试通过命令行参数部分使用$(BinDir)$(TargetName)$(TargetExt)作为参数,但它不起作用。关于如何避免显式/完整路径的任何建议?
我已将 Visual Studio 2010 配置为通过设置项目设置来调试xUnit.net测试| 调试 | 启动外部程序以运行 xUnit.net 控制台运行程序。
这工作正常,但仅当通过命令行参数提供测试项目 dll 的完整路径时,例如:“c:\development\TestProject.dll”
我尝试通过命令行参数部分使用$(BinDir)$(TargetName)$(TargetExt)作为参数,但它不起作用。关于如何避免显式/完整路径的任何建议?
这个答案是在 James 和 Brad 与xUnit.net Runners的出色工作之前给出的。请参阅下面的 michielvoo 的答案。
为了避免显式给出库名称的问题,可以使用带有命令行参数的cmd.exe : /C xunit.console.exe $(BinDir)$(TargetName)$(TargetExt)
检查使用输出窗口
使用工具|选项|键盘配置来分配热键。
这是我在 .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 包更新到最新版本时,都应该更新此配置以指向正确的运行器。
另一种方法是使用 VS 插件作为测试运行程序。例如 ReSharper。
我只需键入程序集的全名即可。
在命令行参数下: SharedDataBridge.Tests.dll