TeamCity가 트리거하여 각 github 커밋에서 변경된 파일의 이름을 기반으로 특정 단위 테스트를 실행하는 powershell 스크립트를 실행하려고합니다. 여기Nunit-console runner가 테스트를 실행하지 않음
내가 명령 줄에서 실행하고 어떻게 : 지금
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
나는 그것을 실행
C:\MyFolder\bin\NUnit.ConsoleRunner.3.4.1\tools\nunit3-console.exe "C:\MyFolder\Bin\UnitTesting.dll" --test="MyFolder.QuickTests.DaoTests.ProductDaoTests.ProductBasicTest"
하지만이가 계속, 그것은 단지 모든 테스트를 실행하지 실행 다음과 같은 --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을 충돌 시키지만 실제로는 아무것도 실행하지 않습니다.
내가 할 때 --explore는 MyFolder의 경우 --where와 동일하게 수행하고 MyFolder.QuickTests의 경우에는 수행하지 않습니다.
편집 편집 : 롭에
덕분에 나는 문서 here을 발견하고 테스트 스위트에있는 모든 파일을 실행 --where "이름 = ProductBasicTest"로 --where 기능 보았다!
그 형태 나 클래스 (고정) 이름이나 3.5 단지 네임 스페이스 이름을 모두 사용하여 작동합니다. 이 문제에 대해 3.5에서 수정 된 문제는 기억이 나지 않지만 업그레이드를 시도 할 수 있습니다. 또한'--where' 명령 행이나'--explore'를 시도해 볼 수 있습니다. –
NUnit 3은/run 또는/fixture 명령 행 옵션도 사용하지 않습니다. 그것은 2.6.x –
@ RobProuse 아, 정말 고맙습니다. 3.5로 업데이트하려고합니다. nunit-console 명령에 대한 문서의 위치를 알고 계십니까? 3+ 이상? –