Указание нескольких пользовательских ключей xunit в качестве аргументов для vstest.console.exe - PullRequest
0 голосов
/ 02 июля 2019

Мне нужен способ указать несколько значений пользовательских черт xunit из командной строки для запуска тестов.

Для моей среды выполнения я не хочу, чтобы VS устанавливался, и, следовательно, установлен VS TestAgent.Я пробовал donet, dotnet-xunit и оба требуют csproj в качестве входных данных.

У меня реализована специальная черта XUnit (пример: как указано здесь https://kenbonny.net/2016/12/20/creating-a-custom-xunit-trait/ и несколько других мест).Я определил пользовательскую черту Feature, а затем из этой черты у меня есть пара расширенных черт, определяющих черту FeatureX, черту FeatureY.При этом TestMethod должен иметь возможность атрибутировать себя как

[Fact]
[FeatureX]
public void CanTest_FeatureX() {}

Для запуска теста из командной строки я использую следующую команду для запуска теста -

vstest.console myTest.dll -testcasefilter: Feature = FeatureX

, и тест успешно выполнен.

Теперь, если у меня есть тест с несколькими признаками, пример -

[Fact]
[FeatureX]
[FeatureY]
public void CanTest_FeatureX_and_FeatureY() {}

Попытка запустить тесты из командной строки, например -

vstest.console myTest.dll -testcasefilter: Feature = FeatureX, FeatureY vstest.console myTest.dll --testcasefilter: Feature = FeatureX; FeatureY vstest.console myTest.dll --testcasefilter: Feature = FeatureX --testcasefilter: Feature = FeatureY

Всевышеприведенные команды терпят неудачу.Для первого и второго аргументов я получаю следующую ошибку No test matches the given testcase filter.В третьем случае я вижу ошибку The parameter "/TestCaseFilter" should be provided only once..

Нашел ответ в этом блоге - https://blogs.msdn.microsoft.com/vikramagrawal/2012/07/23/running-selective-unit-tests-in-vs-2012-rc-using-testcasefilter/.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...