簡體   English   中英

teamcity 可以從 docker 容器中的 dotnet 測試中獲取測試結果以顯示在測試選項卡上嗎?

[英]Can teamcity pick up test results from dotnet test in a docker container to display on the test tab?

我正在使用 Teamcity 的 docker build 命令在 docker 容器中測試和構建我的服務。 這適用於構建,但理想情況下,我希望 nunit 測試結果能夠以與使用 Teamcity 的 dotnet 測試功能相同的方式被拾取並顯示在測試選項卡中。

這是可能嗎?

使用作為創建多階段構建以運行我的測試的指南,這是我到目前為止的 docker 文件。

FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS base
WORKDIR /app

FROM mcr.microsoft.com/dotnet/sdk:6.0 AS restore
WORKDIR /src
 
COPY ["MyService/MyService.csproj", "MyService/"]
COPY ["MyService.Tests/MyService.Tests.csproj", "MyService.Tests/"]

RUN dotnet restore "MyService/MyService.csproj"
RUN dotnet restore "MyService.Tests/MyService.Tests.csproj"

FROM restore AS build
COPY . .
RUN dotnet build "MyService/MyService.csproj" -c Release -o /app/build

FROM build AS test
RUN dotnet test "MyService.Tests/MyService.Tests.csproj" -c Release --logger "trx;LogFileName=TestResults.trx"

FROM scratch AS export-test-results
COPY --from=test /src/MyService.Tests/TestResults/*.trx .

FROM build AS publish
RUN dotnet publish "MyService/MyService.csproj" -c Release -o /app/publish

FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .

ENTRYPOINT ["dotnet", "MyService.dll"]

我的 teamcity 構建步驟配置如下所示:

dockerCommand {
    commandType = build {
        source = file {
            path = "MyService/Dockerfile"
        }
        contextDir = "."
        namesAndTags = "myservice:latest"
        commandArgs = "--network host --target export-test-results --output type=local,dest=."
    }
    param("dockerImage.platform", "linux")
}

如果我將 .trx 文件作為步驟的人工制品呈現,我有點希望 teamcity 可以獲取它,但不確定 tc 是否是這樣工作的。

有沒有人管理過這個,如果有,怎么辦?

TIA

富有的

免責聲明:我既沒有測試過,也沒有設置過這樣的設置。 但是我有一些使用 TeamCity 的經驗,而且由於您在一周內沒有收到任何反饋,我認為有總比沒有好😉

根據TeamCity 文檔,我認為名為XML Report Processing構建功能可以解決問題。 您可以嘗試配置以下內容,看看會發生什么?
在此處輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM