Бегун Nunit-консоли не запускает никаких тестов

Итак, я пытаюсь запустить сценарий powershell, который запускается TeamCity для запуска определенных модульных тестов на основе имен файлов, которые были изменены при каждой фиксации 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-консоль не распознает команду /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" 

Это новое местоположение, и возникает та же проблема.

Когда я делаю --where for MyFolder, происходит сбой Powershell, но на самом деле ничего не запускается.

Когда я делаю --explore, он делает то же самое, что и --where для MyFolder и ничего не делает для MyFolder.QuickTests.

РЕДАКТИРОВАТЬ РЕДАКТИРОВАТЬ:

Благодаря Робу я нашел документы здесь и посмотрел --where с --where "name=ProductBasicTest", которая запустит все файлы в этом Test-Suite!


person Morgan G    schedule 17.10.2016    source источник
comment
Эта форма работает для меня, используя как имя класса (фикстуры), так и просто имя пространства имен в 3.5. Я не помню никаких проблем, исправленных в 3.5 для этого, но вы можете попробовать обновиться. Вы также можете попробовать использовать командную строку --where или --explore, чтобы убедиться, что ваши тесты не называются по-разному.   -  person Rob Prouse    schedule 18.10.2016
comment
NUnit 3 также не использует параметры командной строки /run или /fixture. Это полная переработка с другими параметрами командной строки, чем в 2.6.x.   -  person Rob Prouse    schedule 18.10.2016
comment
@RobProuse О, круто, я ценю это, я попробую обновить до 3.5, вы знаете, где документы для команд nunit-console? для блока 3+?   -  person Morgan G    schedule 18.10.2016


Ответы (1)


Итак, спасибо Робу, одна из проблем, с которой я столкнулся, — это неправильное распознавание моего пространства имен с помощью QuickTests. Поэтому всякий раз, когда я запускал функцию, она работала неправильно.

Чтобы исправить это, вы можете перейти к выходным данным файла Test xml и посмотреть, под какими именами он запускал тесты.

Чтобы запустить их по отдельности, вы можете запустить их по имени с помощью команды:

"nunit3-console.exe C:\PathToDll.dll --where "name = NameOfTest"
person Morgan G    schedule 18.10.2016