Unexpected token '' at position 3 in selection expression

北城余情 提交于 2019-12-24 08:06:43

问题


I am executing a batch script in Jenkins Job.

C:\Users\Administrator\AppData\Local\Apps\OpenCover\OpenCover.Console.exe "-target:C:\Program Files (x86)\NUnit.org\nunit-console\nunit3-console.exe" "-targetargs:C:\Test\src\Example.Tests\bin\Debug\example.Tests.dll --where "cat == Unit" -register:Administrator

I used Filter as well but no use.

C:\Users\Administrator\AppData\Local\Apps\OpenCover\OpenCover.Console.exe "-target:C:\Program Files (x86)\NUnit.org\nunit-console\nunit3-console.exe" "-targetargs:C:\Test\src\Example.Tests\bin\Debug\example.Tests.dl -filter:"+[Unit]*" -register:Administrator

This batch command has a where condition (--where "cat == Unit"). When I execute this I am getting below error.

Test Files

  C:\Test\src\Example.Tests\bin\Debug\example.Tests.dll
    ==
    Unit

Test Filters
    Where: cat

Unexpected token '' at position 3 in selection expression.
Committing...
No results, this could be for a number of reasons. The most common reasons are:
    1) missing PDBs for the assemblies that match the filter please review the
    output file and refer to the Usage guide (Usage.rtf) about filters.
    2) the profiler may not be registered correctly, please refer to the Usage
    guide and the -register switch.

Because of this error I am not able to get Code Coverage. Please suggest.I found below link but I am unable to get this done.

https://github.com/codecov/example-csharp

updated error Logs.

Incorrect Arguments: The argument 'cat == Unit' is not recognised

Usage:
    ["]-target:<target application>["]
    [["]-targetdir:<target directory>["]]
    [["]-searchdirs:<additional PDB directory>[;<additional PDB directory>][;<additional PDB directory>]["]]
    [["]-targetargs:<arguments for the target process>["]]
    [-register[:user]]
    [["]-output:<path to file>["]]
    [-mergeoutput
    [["]-filter:<space separated filters>["]]
    [["]-filterfile:<path to file>["]]
    [-nodefaultfilters]
    [-regex]
    [-mergebyhash]
    [-showunvisited]
    [-returntargetcode[:<opencoverreturncodeoffset>]]
    [-excludebyattribute:<filter>[;<filter>][;<filter>]]
    [-excludebyfile:<filter>[;<filter>][;<filter>]]
    [-coverbytest:<filter>[;<filter>][;<filter>]]
    [["]-excludedirs:<excludedir>[;<excludedir>][;<excludedir>]["]]
    [-hideskipped:File|Filter|Attribute|MissingPdb|All,[File|Filter|Attribute|MissingPdb|All]]
    [-log:[Off|Fatal|Error|Warn|Info|Debug|Verbose|All]]
    [-service[:byname]]
    [-servicestarttimeout:<minutes+seconds e.g. 1m23s>
    [-communicationtimeout:<integer, e.g. 10000>
    [-threshold:<max count>]
    [-enableperformancecounters]
    [-skipautoprops]
    [-oldStyle]
or
    -?
or
    -version

For further information on the command line please visit the wiki
    https://github.com/OpenCover/opencover/wiki/Usage

Filters:
    Filters are used to include and exclude assemblies and types in the
    profiler coverage; see the Usage guide. If no other filters are supplied
    via the -filter option then a default inclusive all filter +[*]* is
    applied.
Logging:
    Logging is based on log4net logging levels and appenders - defaulting
    to a ColouredConsoleAppender and INFO log level.
Notes:
    Enclose arguments in quotes "" when spaces are required see -targetargs.

回答1:


This looks like nonsense

"-targetargs:C:\Test\src\Example.Tests\bin\Debug\example.Tests.dl -filter:"+[Unit]*" 

Something like this should work better

"-targetargs:C:\Test\src\Example.Tests\bin\Debug\example.Tests.dll" -filter:"+[*Unit]*" 

I recommend you to try powershell intstead of batch files

Here is the sample script: https://github.com/rpokrovskij/opencover4vs.ps1

Put it to solution folder, modify first line , and I hope it will work for you, without additional changes.



来源:https://stackoverflow.com/questions/42691814/unexpected-token-at-position-3-in-selection-expression

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