Есть ли в NUnit встроенный способ вызова тестов из другого модуля? - PullRequest
0 голосов
/ 03 декабря 2009

Мне нужно вызвать тест из другой единицы для использования в моей текущей единице (под единицей я подразумеваю класс). Есть ли у NUnit инфраструктура для этого или я должен просто продолжать делать то, что делаю; создание экземпляра класса и вызов метода?

Спасибо!

Ответы [ 2 ]

2 голосов
/ 17 декабря 2009

Если я вас правильно понимаю, у вас есть модульный тест в Class1, и в нем вы хотите запустить модульный тест в Class2. В настоящее время в рамках теста Class1 вы создаете экземпляр Class2 и вызываете метод теста. Вы бы предпочли, чтобы тест Class1 делал что-то вроде 'Nunit.RunTest (Class2.MyTest)'

Насколько я знаю, от NUnit нет способа сделать это. Если у вас есть общий код, который вы хотите использовать в нескольких местах, проще всего создать отдельный метод, который могут вызывать оба теста. Недостатком является то, что вы не сможете использовать методы Setup и Teardown для этих двух.

Если вам нужно запустить Setup и Teardown для обоих тестов, предложение Стива Гилхэма использовать наследование может быть лучшим подходом.

В целом, при изменении кода вы должны запускать все модульные тесты. Каждый тест должен выполняться самостоятельно - вам действительно нужно вызывать один тест из другого?

0 голосов
/ 03 декабря 2009

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

Наиболее очевидный автоматический метод - наследование. Если ваш текущий тестовый класс подклассов другого тестового класса, то все его тесты будут загружены автоматически. Это полезно для тестирования иерархий объектов, где класс модульного тестирования для базового класса сам является базовым классом для классов тестирования для каждого производного класса.

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