У нас есть приложение create-реакции-приложение, которое мы хотим добавить (на стороне сервера) для использования модульных тестов с использованием xUnit. Цель: NET Core 2.1.
Я прочитал аргументы и обсуждения здесь и думаю, что подход к созданию модульных тестов наряду с тестируемыми классами имеет свои преимущества. Я не буду обсуждать плюсы и минусы здесь, это не относится к делу.
Дело в том, что теперь, когда я решил, что я хочу поместить тесты вместе с классами, которые нужно тестировать, внутри сборки, которая будет тестироваться как мне на самом деле это сделать?
Я прочитал здесь , что это должно быть вообще возможно, цитируя:
Тесты в xUnit не делают требуется отдельный тестовый проект Visual Studio в соответствии с требованиями MSTest.
Но я не могу найти никакой информации о том, как на самом деле это сделать. Я могу добавить пакет xunit
NuGet без проблем, но если я добавлю пакет xunit.runner.visualstudio
, я не смогу построить проект, потому что этот пакет добавляет вторую точку входа, что само по себе неудивительно (тестовый прогон действительно запускает проект в конце концов, и для этого нужна точка входа).
Попробовав пакет xunit.runner.msbuild
, я вижу, что он восстанавливается с использованием .NETFramework
, а не .NETCoreApp
, так что это также кажется неуместным. Это действительно сборка, но тесты не запускаются, когда я делаю сборку релиза. Я предполагаю, что он не поддерживает. NET Core?
Тесты обнаруживаются VS в этом состоянии, но если я пытаюсь их запустить, он выдает:
Unable to find C:\ProjPath\Proj\bin\Debug\netcoreapp2.1\testhost.dll. Please publish your test project and retry.
Итак, я полагаю, что моя проблема не в том, чтобы добавить тест, а в том, чтобы найти способ запустить тесты. Я хотел бы иметь возможность запускать их как из Visual Studio (в настоящее время VS2017), так и из конвейера сборки DevOps.