Как написать тест NUnit для надстройки NUnit? - PullRequest
1 голос
/ 13 октября 2010

Я работаю над вариантом этого ответа о переполнении стека, который обеспечивает надежную очистку тестов . Как вы пишете модульные тесты для дополнений NUnit?

Изучив, как NUnit самостоятельно тестирует, я определил:

  • Вы можете написать проходящие тесты, которые проверяют правильное поведение NUnit для неудачных тестов.
  • Вы пишете юнит-тесты для тестовых приборов в отдельной сборке (в противном случае тестируемые приборы будут выполняться вместе с вашими юнит-тестами)
  • Используйте NUnit.TestUtilities.TestBuilder для создания приборов и вызова метода TestSuite.Run.

Чего я не вижу, так это каких-либо тестов процесса надстройки. У меня есть ошибки, возникающие между установкой и выполнением. Как бы модульный тест реализовал следующее?

  • IAddin.Install
  • ITestDecorator.Decorate

Ответы [ 2 ]

1 голос
/ 28 июня 2011

Вот статья того, кто взломал способ сделать это: манипулировать некоторыми синглетами в реализации надстройки NUnit, чтобы поменять его надстройку на вход и выход.

0 голосов
/ 14 октября 2010

Иногда проще всего запустить интеграционные тесты. Прошло много времени с тех пор, как я поиграл с API-интерфейсом надстроек NUnit, поэтому я не могу точно сказать, какие бывают модульные тесты для механизма расширяемости. Если вы просмотрели исходный код NUnit и не нашли его, то, я думаю, это не то, что было протестировано или даже написано с использованием TDD.

Как я уже говорил, иногда проще просто запустить интеграционные тесты. Пусть ваш аддон, например, напечатает что-то в выходной поток, и ваш тест подтвердит, что было написано точное сообщение. Таким образом, вы можете проверить, что установка и инициализация вашего плагина прошла успешно.

Надеюсь, это поможет ...

...