帮助从dos命令行运行NUnit

时间:2009-05-15 15:04:38

标签: unit-testing nunit

我正在使用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来运行测试,所以我知道测试是正确编写的。

任何帮助都会很棒。

3 个答案:

答案 0 :(得分: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"    
}

答案 1 :(得分:0)

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

nunit-console _Test_DAL.dll / nologo

答案 2 :(得分:0)

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