Nunit控制台运行程序未运行任何测试
因此,我尝试运行TeamCity触发的powershell脚本,根据每次github提交时更改的文件名运行特定的单元测试 下面是我如何从命令行运行它: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" 但
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"