Категории и .orderedtest в MSTest (консоль)

есть ли способ использовать категории и упорядоченные тесты в MSTest вместе?

[TestMethod, TestCategory("UITest")]
public void TestMethod()
{
}

и добавить новый упорядоченный тест в мой тестовый проект.

ну .. вызов этого метода из командной строки, например:

MSTest.exe /testcontainer:MyOrderedTest.orderedtest

он выполнит тестовый метод.

но при вызове MSTest следующим образом:

MSTest.exe /testcontainer:MyOrderedTest.orderedtest /category:UITest

он не может найти метод тестирования ..

странное поведение ..

Есть ли способ сделать это?


person hagem    schedule 03.05.2012    source источник


Ответы (1)


Когда вы используете параметр /testcontainer:[file name], вы указываете MSTest запустить тесты, указанные в этом файле. Таким образом, ваш модульный тест с атрибутом [TestMethod, TestCategory("UITest")] не будет выполняться, поскольку он не содержится внутри атрибута MyOrderedTest.orderedtest.

Вы можете создать TestList для достижения этого поведения, которое будет содержать все ваши тесты, принадлежащие к категории UITest, а также OrderedTest, а затем выполнить следующую команду:

MSTest.exe /testmetadata:$(ProjectDir)\TestProject.vsmdi /testlist:ListName
person chaliasos    schedule 03.05.2012
comment
хммм ... это действительно неудобный и негибкий способ ... я верю, что он сработает ... есть альтернатива, в которой вы просто сортируете свой заказ, определяя свои имена тестовых методов в буквенно-цифровом формате ... потребность в упорядоченном тесте здесь больше не существует. .. не знаю, как изящнее -_-' - person hagem; 04.05.2012
comment
Если порядок всегда один и тот же, то буквенно-цифровое определение методов тестирования звучит хорошо. Но я бы предпочел OrderedTest, потому что вы можете определить только те методы тестирования, которые вам нужны (независимо от их категории тестирования), и вам не нужно их менять, если были добавлены новые методы тестирования или были переименованы существующие. - person chaliasos; 04.05.2012