#c# #visual-studio #unit-testing
#c# #visual-studio #модульное тестирование
Вопрос:
Я начинаю изучать учебник по модульному тестированию. Я использую Visual Studio 2019 и пытаюсь запустить проекты / тесты, но продолжаю получать эти ошибки,
Программа CS5001 не содержит статического «основного» метода, подходящего для точки входа
Не удалось найти файл метаданных CS006 ‘C: (filepath) … .exe’
Я знаю, что ни у одного класса нет основного статического метода, но в руководстве, которому я следую, тоже нет, поэтому я не уверен, в чем проблема. Я искал Stack Overflow и Google, но могу найти ответы только у себя в голове, есть идеи, как это исправить?
Это довольно простой код, поскольку я только в начале, поэтому я думаю, что проблема в чем-то другом, но я не уверен (очевидно)
ОБНОВЛЕНИЕ: вот снимок экрана структуры моего решения: структура решения Первоначальный проект был консольным приложением, я добавил тестовый проект в решение.
Комментарии:
1. Похоже, вы использовали шаблон консольного приложения при создании своего проекта, вместо этого вам следует создать проект модульного тестирования
2. Если ваша проблема решена, пожалуйста, подумайте о ее принятии .
Ответ №1:
Тестовые проекты не являются приложениями и обычно запускаются с помощью тестового бегуна.
Запускайте тесты из проводника тестов VS
Вариант B. Запустите тест непосредственно из его кода.
Комментарии:
1. Я пытался запускать тесты как обычное приложение (Ctrl F5). Не понял, что они «запускаются» по-разному с помощью «Ctrl A R». Спасибо!
Ответ №2:
Похоже, вы написали свои модульные тесты внутри шаблона консольного приложения, удалили Main()
метод класса Program и нажали F5, чтобы запустить модульные тесты.
Вы не выполняете модульные тесты F5, вы запускаете их из тестового модуля. Щелкните правой кнопкой мыши любой из ваших методов тестирования и выберите что-то вроде «Запустить модульные тесты», чтобы показать этот тестовый бегун. Или нажмите Test -> Test Explorer, чтобы просмотреть все обнаруженные тесты. См. Также Запуск модульных тестов в разделе «Начало модульного тестирования».
Если это сработает, создайте новый проект, который на самом деле является проектом модульного тестирования, чтобы вы, по крайней мере, получили необычный значок проекта, и переместите свой тестовый код в этот проект.
Комментарии:
1. Первоначальное решение — консольный проект, но для тестов я создал другой тестовый проект. Это правильно?
2. В этом случае вы, вероятно, удалили что-то из своего класса Program, что вам не следовало удалять.
3. Вы не можете запустить его таким же образом. F5 для обычных приложений, для тестов вам нужно открыть test explorer и запустить их там (или Ctrl-R-Ctrl-T в тестовом классе или методе тестирования).
4. Вы могли бы поместить свои тесты в библиотеку классов. VS может выполнять тесты из библиотеки dll, если вы, например, установили тестовый адаптер NUnit 3 в качестве расширения.