Nunit-console runner没有运行任何测试

时间:2016-10-17 20:39:13

标签: nunit nunit-console

所以我试图运行一个由TeamCity触发的powershell脚本,根据每个github提交中更改的文件名运行特定的单元测试。

以下是我从命令行运行它的方法:

C:\MyFolder\bin\NUnit.ConsoleRunner.3.4.1\tools\nunit3-console.exe "C:\MyFolder\Bin\UnitTesting.dll" --test="MyFolder.QuickTests.DaoTests.ProductDaoTests.ProductBasicTest"

但是我一直这样,它运行它从来没有运行任何测试:

NUnit Console Runner 3.4.1 
Copyright (C) 2016 Charlie Poole

Runtime Environment
   OS Version: Microsoft Windows NT 10.0.14393.0
  CLR Version: 4.0.30319.42000

Test Files
    MyFolder\Bin\UnitTesting.dll

Test Filters
    Test: MyFolder.QuickTests.DaoTests.ProductDaoTests.ProductBasicTest


Run Settings
    WorkDirectory: C:\Users\Me
    ImageRuntimeVersion: 4.0.30319
    ImageTargetFrameworkName: .NETFramework,Version=v4.0
    ImageRequiresX86: False
    ImageRequiresDefaultAppDomainAssemblyResolver: False
    NumberOfTestWorkers: 2

Test Run Summary
  Overall result: Passed
  Test Count: 0, Passed: 0, Failed: 0, Inconclusive: 0, Skipped: 0
  Start time: 2016-10-17 20:28:43Z
    End time: 2016-10-17 20:28:43Z
    Duration: 0.303 seconds

Results (nunit3) saved as TestResult.xml

现在当我没有像这样的--test命令运行它时:

C:\MyFolder\bin\NUnit.ConsoleRunner.3.4.1\tools\nunit3-console.exe "C:\MyFolder\Bin\UnitTesting.dll"

它运行我们拥有的每个单元测试,但是我不想全部运行它们,我想运行特定的快速运行,并且当我们进入暂存/生产服务器时只运行大型运行,所以我们的开发人员不要每次做某事都要等15至20分钟。

其他一些信息: - 我正在使用的命名空间是

  

MyFolder.QuickTests.DaoTests.ProductDaoTests

我打电话的课程是:

  

ProductBasicTest

某些名称(例如文件夹目录)已更改,因为它们是文件目录的%teamcity%占位符。

由于无法运行特定测试,我做错了什么?

由于某些原因,我的nunit-console无法识别/ run命令或/ fixture或--test =。

编辑:

我升级到3.5.0并且仍然遇到同样的问题,我无法使用--test。

C:\MyFolder\bin\NUnit.ConsoleRunner.3.5.0\tools\nunit3-console.exe "C:\MyFolder\Bin\UnitTesting.dll" --test="MyFolder.QuickTests.DaoTests.ProductDaoTests.ProductBasicTest" 

这是新的位置,并遇到同样的问题。

当我这样做 - 在MyFolder的地方它崩溃了Powershell但实际上并没有运行任何东西。

当我这样做时 - 探索它与MyFolder的相同 - 并且对MyFolder.QuickTests没有任何作用。

编辑编辑:

感谢Rob我找到了文档here,并使用--where“name = ProductBasicTest”查看了--where函数,它将运行该Test-Suite中的所有文件!

1 个答案:

答案 0 :(得分:0)

感谢Rob遇到的一个问题,是不是用QuickTests正确识别我的命名空间。因此,每当我运行该函数时,它都无法正常运行。

要修复此问题,您可以转到Test xml文件输出,看看它运行测试的名称。

要单独运行这些,您可以使用以下命令运行它:

"nunit3-console.exe C:\PathToDll.dll --where "name = NameOfTest"