Dot-Net
如何在 docker 容器中執行 .NET 單元測試
我有一個包含 MSTest 單元測試的 .NET Core 應用程序。使用這個 Dockerfile 執行所有測試的命令是什麼?
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 的映像的原因 - 如果dotnet test沒有 SDK,您將無法在基於執行時的映像中執行。這是一個完全可行的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 鏡像建構過程中執行。
ENTRYPOINT命令在 docker 容器啟動時執行。