Можно ли установить Do tNet core CLI для do tnet core runtime? - PullRequest
0 голосов
/ 07 февраля 2020

Я хочу запустить функциональные тесты в docker контейнере.
Do tnet core во время выполнения не установлен Do tnet CLI , что означает, что я не могу вызвать команду ' do tnet tests '.
Я хочу использовать Do tnet Core Runtime образ, потому что это намного меньше , разница почти 1 ГБ.

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

Вопросы:

  1. Можно ли установить Do tnet Cli для. Net runtime? Я понимаю, что должны быть API, библиотеки DLL и классы, которые должны поддерживать команды cli. Но, возможно, есть способ включить некоторую часть CLI с необходимыми dll.

  2. Есть ли способ настроить. net время выполнения ядра для включения дополнительных классов / dll (требуется для запуска Unit / Functional Test? (У меня есть мои функциональные тесты, написанные на Nunit, поэтому я упоминаю юнит-тесты)

Я не вижу ничего полезного на веб-сайте MS https://docs.microsoft.com/en-us/dotnet/core/run-time-config/. Кроме того, это сообщение "" Эта статья относится к: ✔️. NET Core 1.x SDK ✔️. NET Core 2.x SDK "" на следующей странице https://docs.microsoft.com/en-us/dotnet/core/tools/dotnet-test?tabs=netcore21 about Тестовая команда do tnet подразумевает, что тестовая команда do tnet доступна только в Do tnet SDK.

Заранее спасибо.

1 Ответ

0 голосов
/ 13 февраля 2020

Хотя я не нашел ответа на свой первоначальный вопрос и все еще заинтересован в ответе, я нашел обходное решение о том, как избавиться от SDK и запустить модульные тесты функциональных тестов. net запуск ядра время.

Следующий блог мне очень помог, в принципе, это то же самое решение.

Шаги для запуска модульных тестов. net время выполнения:

План, что нам нужно сделать :
1. Нам нужно избавиться от зависимости. net CLI (которая зависит от SDK).
2. Для этого мы преобразуем наш проект Unit Test Project в консольное приложение, которое позволяет запускать тесты во время выполнения в
3. Сделайте Nunit совместимым с командной строкой.

do tnet FunctionalTest.dll.

Как этого добиться:
1. Откройте файл UnitTests.csproj или FuncTests.csproj. Добавьте следующее свойство в группу свойств.

<GenerateProgramFile> false </GenerateProgramFile>

Таким образом, ваш результирующий файл * .csproj может выглядеть так:

<Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
     <TargetFramework>netcoreapp2.0</TargetFramework>
     <IsPackable>false</IsPackable>
     <GenerateProgramFile>false</GenerateProgramFile>
   </PropertyGroup>

   <ItemGroup>
     <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.3.0" />
     <PackageReference Include="Nunit" Version="*" />
   </ItemGroup>
</Project>

Добавьте основной метод и Progam.cs в ваш проект.

класс Program {publi c stati c int Main (string [] args) {вернуть новый AutoRun (). Execute (args); }}

Откройте инструмент управления NuGet в Visual Studio и установите пакет NUnitLite.
https://www.nuget.org/packages/NUnitLite/

Теперь вы можете запускать свои функциональные тесты. net время выполнения с помощью команды:

do tnet FunctionalTest.dll

...