【问题标题】:Help running NUnit from dos command line帮助从 dos 命令行运行 NUnit
【发布时间】:2013-06-15 00:44:04
【问题描述】:

我正在编写一个 MSBuilds 脚本来从 CruiseControl.Net 运行我的 NUnit 测试。 _Test_DAL 包含三个测试。

我在获取正确的 dos 命令来运行 NUnit 时遇到问题。

这是运行 NUnit 的命令,但它没有找到任何测试。

D:\CC\JCDCHelper\Source_Test_DAL\bin\Debug>"C:\Program Files\NUnit 2.4.3\bin\nunit-console" /nologo _Test_DAL.dll

测试运行:0,失败:0,未运行:0,时间:0.047 秒

我可以使用 resharper 来运行测试,所以我知道测试是正确编写的。

任何帮助都会很棒。

【问题讨论】:

  • 您是否尝试将您的 dll 的完整路径传递给它?
  • 我试着把完整的路径放到测试 dll 中,不开心。

标签: unit-testing nunit


【解决方案1】:

回过头来回答我提出的独立解决的问题。

我们现在使用 Powershell,但下面是我们如何解决它以防它对任何人有用

function Invoke-UnitTests  { 

  $NUnitExe = "C:\" + $WhereIsProgramFiles + "\NUnit 2.5.7\bin\net-2.0\nunit-console.exe"
  Show-Status "Invoke-UnitTests was called."
  Show-Status $NUnitExe

  foreach( $OneProject in ( $TestProjects))
  {
    Show-Status "Running unit test for $OneProject"

    $GetCommonDlls = "D:\CC\$AppName\Source\$AppName\_CommonDlls"
    $GetBinDlls = "D:\CC\$AppName\Source\$AppName\Bin"
    Copy-Item "$GetCommonDlls\*" "$WorkingDir" 
    Copy-Item "$GetBinDlls\*" "$WorkingDir" 

    $WorkingDir = "D:\CC\$AppName\Source\$OneProject\obj\$ReleaseOrDebug"
    $NUnitOutput = "D:\CC\$AppName\NUnit\" + $OneProject + ".xml"

    & "$NUnitExe" "$WorkingDir\$OneProject.DLL" /nologo /xml:$NUnitOutput
    if ($lastExitCode -ne 0) 
    {
        Show-Status "NUnit test Command failed for Project:$ProjectName in Application:$AppName”
        Show-Status "Command that failed: ""$NUnitExe"" ""$WorkingDir\$OneProject.DLL"" /nologo /xml:$NUnitOutput"
        Show-Error “Error: Unit test for $OneProject failed”
    }
  }

  Show-Status "All Done with Unit tests"    
}

【讨论】:

    【解决方案2】:

    必须先输入文件,然后是选项。

    nunit-console _Test_DAL.dll /nologo

    【讨论】:

    • 使用 NUnit 2.4.8,我可以先指定 /nologo 并且仍然运行测试。
    【解决方案3】:

    我不确定 Resharper 如何处理测试,但我记得 TestDriven.Net 能够对实际上未标记为单元测试的方法“运行测试”。确保您的类是公共的并标记为 [TestFixture],并且单元测试是标记为 [Test] 的公共 void 方法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-06-07
      • 1970-01-01
      • 2018-02-24
      • 1970-01-01
      • 2011-01-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多