NUnit: возможно ли ссылаться на классы из моего приложения? - PullRequest
2 голосов
/ 31 мая 2011

Я недавно натолкнулся на кирпичную стену с тестовой средой Visual Studio 2008: тестирование 64-битных dll невозможно с VS 2008 .У меня есть проект, который компилируется только в x64, и мне нужно создать некоторые модульные тесты для проекта, и я не могу использовать для этого инфраструктуру тестирования VS2008.

Впоследствии я загрузил последнюю платформу NUnit (котораянасколько я понимаю, поддерживает x64-тестирование), но сейчас я пытаюсь продублировать то же поведение, которое было в Visual Studio с его средой тестирования.А именно, я хотел бы создать экземпляры классов в текстовом приспособлении, которые определены в моем проекте.

Вот пример:

  • У меня есть проект (назовите его MyProject), который компилируетсяв исполняемый файл: MyProject.exe
  • В MyProject есть класс, который называется MyClass.
  • У меня есть отдельный проект для моих тестов, который называется MyProjectTest, и он компилируется в dll (так что я могу запустить его с NUnit).
  • Как создать экземпляр MyClass внутри MyProjectTest?

Насколько я понимаю, NUnit, похоже, предназначен для тестирования DLL, а не EXE-файлов,так что мне делать, если я хочу проверить классы в EXE?Отражение?Я предполагаю, что таким образом среда тестирования VS2008 получает доступ к классам ...

Ответы [ 2 ]

4 голосов
/ 31 мая 2011

Исполняемый файл и DLL практически идентичны. Есть некоторые различия, но ни одно из них не должно служить препятствием для ссылки на исполняемый файл из вашего тестового проекта NUnit.

4 голосов
/ 31 мая 2011

Как я могу создать экземпляр MyClass внутри MyProjectTest?

Обычный способ сделать это, чтобы ваш проект MyProjectTest содержал ссылку на MyProject

Но, похоже, большинстволюдям не нравится идея ссылаться на exe и, следовательно, MyClass определен в третьей DLL, на которую ссылаются как MyProject, так и MyProjectTest

Насколько я понимаю, NUnit, похоже, предназначен длятестирование DLL, а не EXE-файлов.

Я должен признать, что все мои тесты находятся в dll, но для файлов диалогового окна Nunit Add Assembly по умолчанию заданы файлы * .dll и * .exe, которые указывают на иное.

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