在Docker容器中运行时未找到xUnit测试

时间:2019-03-05 23:02:43

标签: docker .net-core containers xunit

我正在使用一些xUnit测试为dotnet核心项目制作Dockerfile。我要在构建映像时运行单元测试。但是,当我构建docker时,在测试步骤中会收到以下消息:

  

/ciad/tests/bin/Debug/netcoreapp2.1/Tests.dll中没有可用的测试。确保已注册测试发现者和执行者,并且平台和框架版本设置正确,然后重试。

这是Dockerfile:

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

我知道这是一个不完整的dockerfile。我现在只是坚持测试。有人可以看到我所缺少的吗?

值得一提的是,测试在VS中运行良好,“ dotnet test”命令也可以正常运行。我还可以看到Tests项目的文件已复制到容器中。 我跑:

docker build -t testing .

1 个答案:

答案 0 :(得分:0)

我不知道出了什么问题,但是最终由于omajid的提示,我将测试项目的名称和文件夹更改为使用小t进行测试,并将Dockerfile中的所有其他大写字母T更改为小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