Вывод результатов теста VS2010, которые НЕ включают ключевое слово

1

Есть ли способ фильтровать результаты теста, указав ключевое слово, которое НЕ должно появляться?

Контекст:

Я написал несколько классов и методов С#, но пока не реализовал эти методы (я заставил их бросить исключение NotImplementedException, чтобы они ясно это обозначили). Я также написал несколько тестовых примеров для этих функций, но в настоящее время они терпят неудачу, потому что методы бросают NotImplementedException. Это нормально, и я ожидаю этого сейчас.

Я хочу проигнорировать эти тесты на данный момент и посмотреть другие результаты тестов, которые более значимы, поэтому я пытался выяснить, как я могу перечислять результаты, которые не имеют "NotImplementedException". Однако я могу только перечислять результаты, которые имеют это ключевое слово, а не те, которые этого не делают. Есть ли способ опубликовать результаты, которых нет? С помощью некоторых подстановочных знаков или чего-то еще?

Я вижу много информации о новом тесте Explorer в VS2012, но это не особенность в 2010 году, и это то, что я использую.

Теги:
visual-studio
unit-testing
visual-studio-2010
testcase

2 ответа

1
Лучший ответ

Вы можете подобрать чит, чтобы пройти эти тесты, если хотите, отметив, что этот тест ожидает исключения, которое будет выбрано, и тем самым пройдет тест.

[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)
{
    ....
}

Справка:

  • 0
    Это здорово, я не знал, что есть способы классификации и игнорирования тестовых случаев. Это хороший обходной путь, если выясняется, что не существует способа фильтрации. Хотя я бы предпочел не изменять код теста.
  • 0
    Я предполагаю, что то, о чем я прошу, невозможно в VS2010, поэтому я отмечаю это как ответ, потому что это хороший обходной путь
0

Я также написал несколько тестовых примеров для этих функций

Если ваши тесты связаны с рабочими элементами Test Case в TFS, вы можете просто настроить состояние тестового случая на Design. Затем на ваших Test Plans исключить все тестовые примеры, которые находятся в состоянии " Designed.

Если они не связаны с фактическими рабочими элементами тестовых случаев (скажем, партия модульных тестов), я считаю, что лучшим решением является Ignore attrbute (как уже упоминалось @Serv). Потому что я не думаю, что вы хотите запускать тесты, которые еще не реализованы, а также тратить время, чтобы выяснить, как исключить их из результатов теста.

  • 0
    Тесты выполнены. Фактический класс, который он тестирует, не является, и он выдает NotImplementedException, который не проходит тест. Кроме того, я не использую TFS
  • 1
    Тем не менее, если вы используете жизненный цикл приложения TFS (пользовательские истории, тестовые случаи, планы тестирования и т. Д., Все они связаны друг с другом), вы можете создавать Requirement bases Test Plan и исключать реализованные пользовательские истории. Если нет, используйте атрибут Ignore .

Ещё вопросы

Сообщество Overcoder
Наверх
Меню