Why is my VSTest Runner test results file not being written to where I configured it?

David Massat December 12, 2017

VSRunnerConfig.PNG

12-Dec-2017 13:38:33Passed   ShortLocateCacheCollectionCreateDataRequestTest
12-Dec-2017 13:38:33Passed   ShortLocateCacheCollectionRequestTest
12-Dec-2017 13:38:33Passed   ShortLocateCacheCollectionRecoveryTest
12-Dec-2017 13:38:33Passed   DatabaseHelpersTest
12-Dec-2017 13:38:33Passed   EINT_667_TEST
12-Dec-2017 13:38:33Results File: C:\Users\bambooprod\AppData\Local\Temp\1513103893152-0\TestResults\bambooprod_CHI-BLD-W12-01 2017-12-12 13_38_16.trx
12-Dec-2017 13:38:33 
12-Dec-2017 13:38:33Total tests: 54. Passed: 54. Failed: 0. Skipped: 0.
12-Dec-2017 13:38:33Test Run Successful.
12-Dec-2017 13:38:33Test execution time: 18.8019 Seconds
12-Dec-2017 13:38:33Parsing test results under D:\agent-home\xml-data\build-dir\TRDSVR-LIN2-JOB1...
12-Dec-2017 13:38:33Failing task since test cases were expected but none were found.
12-Dec-2017 13:38:33Finished task 'Run unit tests' with result: Failed

The results file is clearly not what I configured above, any ideas please?

2 answers

0 votes
Alexey Chystoprudov
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
January 29, 2018

vstest.console.exe doesn't allow to specify output filename so Bamboo executes it at temporary folder and then copies generated *.trx file to folder specified by user. It's not clear from build logs, but it works like this from source code perspective: https://bitbucket.org/atlassian/bamboo-dotnet-plugin/src/d2788e3b641ccd5e5895d1adc7f115c1046df5f2/src/main/java/com/atlassian/bamboo/plugin/dotnet/tests/vstest/VSTestRunnerTaskType.java?at=default&fileviewer=file-view-default

Jo Peel November 6, 2018

According to the --help output on my version of vstest.console.exe you can specify the trx file name with the /logger option:

--logger|/logger:<Logger Uri/FriendlyName>
Specify a logger for test results. For example, to log results into a
Visual Studio Test Results File (TRX) use /logger:trx[;LogFileName=<Defaults to unique file name>]
Creates file in TestResults directory with given LogFileName.

So the command line:

"C:\Program Files (x86)\Microsoft Visual Studio\2017\TestAgent\Common7\IDE\CommonExtensions\Microsoft\TestWindow\vstest.console.exe" /logger:trx;LogFileName=MyResults.trx org.example.tests\bin\Debug\org.example.tests.dll

Will create output in:

MyResults.trx

Important: Contary to the help output shown above, if no trx file name is specified none will be created!

Unfortunately the Java code linked to in the post does not seem to allow for a user specified trx file name:

command.add("/logger:Trx");

My guess is that changing this line to the logical equivalent of the following psudo code

command.add("/logger:Trx;<resultFileName>");

 i.e. adding the string ";<resultFileName>" part where a file is specified, or a suitable default if not, would create the desired trx file.

See also: Microsoft/vstest-docs

Like Danilo Araujo likes this
Paul Faehrt Bus November 7, 2018

Update: We found that using the vstest.console.exe installed as part of a Visual Studio install fixed our problems.

0 votes
somethingblue
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
December 22, 2017

Hi David,

If you take a look at the agent logs what do you see? The directory may not have been able to be created or move the result to the result directory. 

Take a look at the logs around 12-Dec-2017 13:38:33 and see if there are any errors related to the directory you specified.  Let me know what you find.

Cheers,

Branden

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events