TFS Not all tests are run although the build is green

巧了我就是萌 提交于 2019-12-22 08:06:10

问题


For some reason about a quarter of our tests is not being run on TFS, build ends up green but reports only 3/4 saying all tests have passed. I guess the problem is in some tested async code that perhaps crashes the test runner or keeps running on its own. Locally in VS all tests are passing fine. Is there any way to enable crash dumps on TFS or how should I address this problem?

EDIT: In TFS web interface the Summary says "All 2217 tests passed" but in Diagnotics section, under the passed tests it says "Test run completed. 3228 tests executed" ...still not all (cca 3450 passing locally in VS2015)

I checked last builds on the server but as far as the history goes, they were already failing then (always different amonut have passed). So I can't trace that.

I also ran tests with vstest.console.exe and all is fine except 5 failed on long filepath (I disabled those with Ignore attribbute to no avail)


Edit by the bounty starter:

Sorry for the text in bounty box. Didn't think that line breaks would be swallowed. Providing the same text here.

I have exact same situation. Say I have 100 tests, but only say 60 are finally in the .trx file (say 50 passed and 10 failed). It would be great to solve this issue. Thanks!

<Target Name="CoreTestConfiguration">
  <Exec Command="&quot;C:\Program Files\dotnet\dotnet.exe&quot; vstest /Blame /Diag:&quot;$(SolutionRoot)##########################\bin\Release\diag.txt&quot; &quot;$(SolutionRoot)###########################\#################s.dll&quot;  /logger:trx;LogFileName=&quot;$(SolutionRoot)\#################################\Tests\bin\Release\TestOutput.trx&quot; /Settings:&quot;$(SolutionRoot)\############################################ests\bin\Release\#################sts.runsettings&quot;"
  ContinueOnError="true"/>
</Target>


<RunSettings>
  <RunConfiguration>
    <TestSessionTimeout>4400000</TestSessionTimeout>
    <TestTimeout>342000</TestTimeout>
    <TargetPlatform>X64</TargetPlatform>
    <TargetFrameworkVersion>
        .NETCoreApp,Version=v2.0
    </TargetFrameworkVersion>

    <!-- same with net461: but different count of tests in final trx -->
    <!-- <TargetFrameworkVersion> 
        .NETFramework,Version=v4.6.1
    </TargetFrameworkVersion> -->

    <DesignMode>False</DesignMode>
    <CollectSourceInformation>False</CollectSourceInformation>
  </RunConfiguration>
  <LoggerRunSettings>
    <Loggers>
      <Logger friendlyName="blame" enabled="True" />
      <Logger friendlyName="Console" uri="logger://microsoft/TestPlatform/ConsoleLogger/v1" assemblyQualifiedName="Microsoft.VisualStudio.TestPlatform.CommandLine.Internal.ConsoleLogger, vstest.console, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" codeBase="C:\Program Files\dotnet\sdk\2.1.503\vstest.console.dll" enabled="True" />
    </Loggers>
  </LoggerRunSettings>
  <DataCollectionRunSettings>
    <DataCollectors>
      <DataCollector friendlyName="blame" enabled="True">
        <Configuration>
          <ResultsDirectory> 
            ############################\bin\Release
          </ResultsDirectory>
        </Configuration>
      </DataCollector>
    </DataCollectors>
  </DataCollectionRunSettings>
</RunSettings>

回答1:


which version Test Framework are you using? It seems you want to build/run a dotnet core application. In my opinion xunit works fine with dotnet core 2.x. There is also a new version of MS Test framework available which has some interesting improvements. I read that in one of the latest dotnetpro article. see also Article, dotnetpro (GER)

Hopefully this will help you to solve this issue, See ya Leonhard



来源:https://stackoverflow.com/questions/36680473/tfs-not-all-tests-are-run-although-the-build-is-green

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!