如何在Docker容器中运行.NETunit testing

我有一个包含MSTestunit testing的.NET核心应用程序。 使用这个Dockerfile执行所有testing的命令是什么?

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

文件夹结构是:

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

使用安装了.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"] 

RUN命令在Docker镜像构build过程中执行。

当一个ENTRYPOINT容器启动时, ENTRYPOINT命令被执行。