Тесты xUnit не найдены при запуске в контейнере Docker - PullRequest
1 голос
/ 06 марта 2019

Я делаю Dockerfile для основного проекта dotnet с некоторыми тестами xUnit.Я хочу запустить модульные тесты, когда изображения строятся.Однако, когда я собираю Docker, я получаю следующее сообщение на шаге теста:

В /ciad/tests/bin/Debug/netcoreapp2.1/Tests.dll тест недоступен.Убедитесь, что тестовый первооткрыватель и исполнители зарегистрированы, и настройки версии платформы и фреймворка соответствуют требованиям, и попробуйте снова.

Вот файл Docker:

FROM microsoft/dotnet:2.1-aspnetcore-runtime AS base
FROM microsoft/dotnet:2.1-sdk AS build

WORKDIR /ciad

# restore
COPY API/API.csproj ./api/
RUN dotnet restore api/API.csproj
COPY Tests/Tests.csproj ./tests/
RUN dotnet restore tests/Tests.csproj

# copy src
COPY . .

# test
RUN dotnet test tests/Tests.csproj

Я знаю, что этоявляется неполным докер-файломЯ просто застрял с тестами на данный момент.Кто-нибудь может увидеть, что мне не хватает?

Хорошо отметить, что тесты в VS работают нормально, и команда "dotnet test" тоже работает.Я также вижу, что файлы проектов Tests копируются в контейнер.Я бегу:

docker build -t testing .

1 Ответ

0 голосов
/ 06 марта 2019

Я не знаю, что было не так, но в конечном итоге благодаря советам omajid я изменил имя и папку проекта тестов на тесты с маленьким t и всеми другими заглавными буквами T в Dockerfile на маленький t, и это сработало! Я надеюсь, что это может кому-то помочь.

FROM microsoft/dotnet:2.1-aspnetcore-runtime AS base
FROM microsoft/dotnet:2.1-sdk AS build

WORKDIR /ciad

# restore
COPY API/API.csproj ./api/
RUN dotnet restore api/API.csproj
COPY tests/tests.csproj ./tests/
RUN dotnet restore tests/tests.csproj

# copy src
COPY . .

# test
RUN dotnet test tests/Tests.csproj
...