我有一个包含MSTest单元测试的.NET Core应用程序。使用此Dockerfile执行所有测试的命令是什么?
FROM microsoft/dotnet:1.1-runtime
ARG source
COPY . .
ENTRYPOINT ["dotnet", "test", "Unittests.csproj"]
文件夹结构是:
/Dockerfile
/Unittests.csproj
/tests/*.cs
答案 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
命令。
ENTRYPOINT
命令。