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


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

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.



0 votes

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

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:


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:


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


 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 1 person likes this

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

Suggest an answer

Log in or Sign up to answer
Community showcase
Published Wednesday in Opsgenie

Getting the Most out of Atlassian and Opsgenie Together

We’re excited to invite you to this action-packed webinar where we will demonstrate how to integrate Opsgenie’s powerful alerting and on-call management tools with your entire Atlassian stack. Mar...

73 views 0 1
Read article

Atlassian User Groups

Connect with like-minded Atlassian users at free events near you!

Find a group

Connect with like-minded Atlassian users at free events near you!

Find my local user group

Unfortunately there are no AUG chapters near you at the moment.

Start an AUG

You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs

Groups near you