简体   繁体   中英

Can vstest.console filter tests by all matched traits?

As documented on this MSDN article , vstest.console can filter tests to run by traits. For example, a sample vstest.console command might look as follows:

"C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow\vstest.console.exe" "C:\mytest.dll" /TestCaseFilter:"TestCategory=traitA|TestCategory=traitB|traitN" /logger:trx

Actually, the whole article says that multiple traits will be provided using the following syntax:

<Expression> is of the format <property>=<value>[|<Expression>].

My issue is when you provide more than a trait, tests are filtered using a logical or and official documentation says nothing about how to filter tests that match all given traits .

Provided article has an undocumented expression format . If you use & instead of | to provide multiple traits , you're going to filter tests which match all given traits.

For example:

"C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow\vstest.console.exe" "C:\mytest.dll" /TestCaseFilter:"TestCategory=traitA&TestCategory=traitB&traitN" /logger:trx

Yes, that option is missing from the MSDN Page. However it is indeed mentioned in the tool itself. In particular look for the /TestCaseFilter switch from the output of running vstest.console.exe /?

Thank you for reporting this.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM