2017-03-09 12 views
0

Jenkins Jobでバッチスクリプトを実行しています。選択式の位置3にトークンがありません

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 

私は同様にフィルターを使用していないが、何の使用。

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 

このバッチコマンドには、条件(--where "cat == Unit")があります。私がこれを実行すると、私は下にエラーが発生しています。テストファイル

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. 

は、このエラーのため、私はコードカバレッジを取得することはできませんよ。私は以下のリンクを見つけましたが、これを行うことができません。

エラーログを更新しました。私はここでは、バッチファイル

のPowerShellのintsteadをしようとすることをお勧めいたします

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. 
+0

おそらく 'example.Tests.dll'の後ろに引用符が必要ですか? –

+0

dllを引用した後に動作しませんでした –

答えて

2

これはナンセンス

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

のようにこのような何かが良い

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

を動作するはずに見えますが、サンプルスクリプトです:https://github.com/rpokrovskij/opencover4vs.ps1

これをソリューションフォルダに置き、最初の行を修正してください。追加の変更を加えることなく、うまくいくことを期待しています。

関連する問題