如何在docker容器中运行.NET单元测试

时间:2017-05-30 01:11:26

标签: .net docker .net-core visual-studio-2017

我有一个包含MSTest单元测试的.NET Core应用程序。使用此Dockerfile执行所有测试的命令是什么?

FROM microsoft/dotnet:1.1-runtime
ARG source
COPY . .
ENTRYPOINT ["dotnet", "test", "Unittests.csproj"]

文件夹结构是:

/Dockerfile
/Unittests.csproj
/tests/*.cs

1 个答案:

答案 0 :(得分:6)

使用安装了.NET Core SDK的基本映像。例如:

microsoft/dotnet
microsoft/dotnet:1.1.2-sdk

然后运行dotnet test控制台命令。这就是为什么需要基于SDK的图像 - 您无法在没有SDK的基于运行时的映像中运行dotnet test。这是一个完全可行的Dockerfile示例:

FROM microsoft/dotnet

WORKDIR /app
COPY . .

RUN dotnet restore

# run tests on docker build
RUN dotnet test

# run tests on docker run
ENTRYPOINT ["dotnet", "test"]
在docker镜像构建过程中执行

RUN命令。

当docker容器启动时执行

ENTRYPOINT命令。