Есть ли способ фильтровать результаты теста, указав ключевое слово, которое НЕ должно появляться?
Контекст:
Я написал несколько классов и методов С#, но пока не реализовал эти методы (я заставил их бросить исключение NotImplementedException, чтобы они ясно это обозначили). Я также написал несколько тестовых примеров для этих функций, но в настоящее время они терпят неудачу, потому что методы бросают NotImplementedException. Это нормально, и я ожидаю этого сейчас.
Я хочу проигнорировать эти тесты на данный момент и посмотреть другие результаты тестов, которые более значимы, поэтому я пытался выяснить, как я могу перечислять результаты, которые не имеют "NotImplementedException". Однако я могу только перечислять результаты, которые имеют это ключевое слово, а не те, которые этого не делают. Есть ли способ опубликовать результаты, которых нет? С помощью некоторых подстановочных знаков или чего-то еще?
Я вижу много информации о новом тесте Explorer в VS2012, но это не особенность в 2010 году, и это то, что я использую.
Вы можете подобрать чит, чтобы пройти эти тесты, если хотите, отметив, что этот тест ожидает исключения, которое будет выбрано, и тем самым пройдет тест.
[TestMethod]
[ExpectedException(typeof(NotImplementedException))]
public void NotYetImplementedMethod(Object args)
{
....
}
Кроме того, вы можете создавать категории для своих тестов. Таким образом, вы можете выбрать, какие тесты запускать в тестовом проводнике, если вы назначили категорию большинству ваших тестов.
[TestMethod]
[Testcategory("NotImplementedNotTested")]
public void NotYetImplementedMethod(Object args)
{
....
}
Последнее, но не менее важное простейшее решение [Ignore]
. Это пропустит все тесты.
[TestMethod]
[Ignore]
public void NotYetImplementedMethod(Object args)
{
....
}
Справка:
Я также написал несколько тестовых примеров для этих функций
Если ваши тесты связаны с рабочими элементами Test Case
в TFS, вы можете просто настроить состояние тестового случая на Design
. Затем на ваших Test Plans
исключить все тестовые примеры, которые находятся в состоянии " Designed
.
Если они не связаны с фактическими рабочими элементами тестовых случаев (скажем, партия модульных тестов), я считаю, что лучшим решением является Ignore
attrbute (как уже упоминалось @Serv). Потому что я не думаю, что вы хотите запускать тесты, которые еще не реализованы, а также тратить время, чтобы выяснить, как исключить их из результатов теста.
Requirement bases Test Plan
и исключать реализованные пользовательские истории. Если нет, используйте атрибут Ignore
.