Модульное тестирование без основного статического метода?

#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 в качестве расширения.