Вопрос или проблема
TLDR: У меня есть файл DLL для модульных тестов из другого решения. Я хочу сослаться на этот DLL и запустить его тесты В ДОПОЛНЕНИЕ к тестам, уже существующим в текущем проекте/решении.
Мы разработали пакет приложений с тремя отдельными решениями приложений, плюс общее решение для всех наших общих объектов. Все три приложения используют XML-файлы в качестве источника данных. Все три используют одни и те же схемы XML, но в конечном итоге каждое приложение имеет свои особенности.
Поэтому то, что мы хотим сделать, это взять проект модульных тестов нашего общего решения, как-то сослаться на него из других решений, а затем, когда мы запускаем тесты, они не только выполняют тесты для текущего решения, но также выполняют тесты для общего DLL.
Спасибо за вашу помощь!
Ответ или решение
Чтобы интегрировать и выполнить тесты из другого DLL файла с юнит-тестами в рамках вашего проекта на MS Test, вы можете выполнить следующие шаги. Данный подход позволяет включить тесты из общего решения совместно с тестами в текущем проекте. А теперь разберём процесс более подробно.
1. Добавление ссылки на DLL с тестами
Первым делом необходимо добавить ссылку на DLL файл, содержащий ваши юнит-тесты. Для этого выполните следующие шаги:
- Откройте ваш проект в Visual Studio.
- Найдите проект, в который вы хотите включить тесты.
- Щелкните правой кнопкой мыши на проекте и выберите "Добавить" -> "Ссылка".
- В открывшемся окне выберите "Обозреватель" и укажите путь к DLL файлу вашего общего решения с юнит-тестами.
- Убедитесь, что вы выбрали DLL и добавили ее в проект.
2. Импортирование пространств имён
После успешного добавления ссылки, вам нужно будет убедиться, что все необходимые пространства имён из DLL доступны. Откройте ваш класс тестов, который будет исполнять тесты, и добавьте необходимые директивы using
в начале файла:
using SharedLibraryNamespace; // замените на реальное пространство имён из вашего DLL
3. Обнаружение тестов
MS Test автоматически обнаруживает тесты, если они имеют правильные атрибуты. Убедитесь, что ваши тесты в DLL помечены так же, как в вашем текущем проекте:
[TestMethod]
public void YourTestMethodInSharedDLL()
{
// Ваш тест-код здесь
}
4. Запуск всех тестов
Теперь, когда ссылки установлены, и тесты доступны, вы можете запустить все тесты, включая тесты из общего решения. Для этого выполните следующие шаги:
- Откройте окно "Тесты" в Visual Studio (Выберите "Тест" -> "Параметры теста").
- Нажмите "Запустить все тесты" или используйте соответствующую комбинацию клавиш (по умолчанию это
Ctrl + R, A
).
Visual Studio обнаружит и выполнит как ваши локальные тесты, так и тесты, импортированные из внешней DLL.
5. Проверка результатов
После выполнения тестов вы сможете увидеть результаты выполнения в окне "Результаты тестирования". Как только все тесты завершатся, вы сможете оценить их успешность и наличие возможных ошибок как в оригинальном проекте, так и в тестах общего решения.
Оптимизация процесса
Для оптимизации и повышения читаемости тестов, вы можете рассмотреть объединение общих и специфичных тестов в единые классы или методы, если это допустимо по логике. Также, полезно разработать стратегии по организации и масштабированию ваших тестов согласно архитектуре вашего приложения.
Заключение
Следуя указанным шагам, вы сможете интегрировать тесты из другого DLL файла и запускать их вместе с тестами вашего текущего проекта. Такой подход обеспечит комплексный контроль качества для всех компонентов вашего приложения, улучшая его надежность и производительность. Это особенно полезно в контексте вашего многоуровневого приложения, использующего общие данные и структуры.