Nunit控制台运行程序未运行任何测试

Nunit控制台运行程序未运行任何测试,nunit,nunit-console,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" 但

因此,我尝试运行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

我打电话给的班级是:

产品基本测试

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

我不能运行特定的测试有什么错

出于某种原因,我的nunit控制台无法识别/run命令或/fixture或--test=

编辑:

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

这是新的位置,并且得到相同的问题

当我这样做的时候,MyFolder的where崩溃了Powershell,但实际上没有运行任何东西

当我这样做时--explore的操作与--where for MyFolder相同,而对MyFolder.QuickTests不做任何操作

编辑:


多亏了Rob,我找到了文档并查看了--where函数和--where“name=ProductBasicTest”,它将运行该测试套件中的所有文件

多亏了Rob,我遇到了一个问题,那就是没有通过QuickTests正确识别我的命名空间。因此,每当我运行函数时,它都无法正确运行

要解决这个问题,您可以转到测试xml文件输出,查看它运行测试时使用的名称

要单独运行这些,可以使用以下命令按名称运行:

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

在3.5中,该表单使用类(fixture)名称或名称空间名称。我不记得在3.5版本中修复了什么问题,但是您可以尝试升级。您也可以尝试
--where
命令行,或
--explore
以确保您的测试没有不同的名称。NUnit 3也不使用/run或/fixture命令行选项。这是一个完整的重写,具有与2.6不同的命令行选项。x@RobProuse哦,太棒了,我很感激,我会尝试升级到3.5,你知道nunit控制台命令的文档在哪里吗?第三单元+?
"nunit3-console.exe C:\PathToDll.dll --where "name = NameOfTest"