2009-07-30 3 views
3

PartCover.NETをNAntおよびCruiseControl.NETと統合しようとしています PartCover.NETブラウザを問題なく実行できますが、NAntタスクで実行しようとすると機能しません(私のCCNETビルドで)。PartCover.NETをNAntと統合する

NAntターゲットに問題がありますが見つかりません。たぶん誰かが過去に同じ問題を経験していたのでしょうか?

<target name="CoverageUnitTest" description="Code coverage of unit tests"> 
    <exec program="${PartCover.exe}"> 
     <arg value="--target=${NUnit.console}" /> 
     <arg value="--target-work-dir=${project.dir}\bin\${configuration}"/> 
     <arg value="--target-args=${project}.dll" /> 
     <arg value="--output=C:\partcover.xml" /> 
     <arg value="--include=[*]*" /> 
    </exec> 
</target> 
CruiseControlので

は、私は、次のエラーメッセージが表示されました: [EXEC]無効なオプション 'を--target C:NUnitの\ビンの\ NUnitの-CONSOLE.EXE \'

Build Error: NAnt.Core.BuildException 
External Program Failed: C:\PartCover\PartCover.exe (return code was -1) 
in C:\default.build line: 20 col: 4 

    at NAnt.Core.Tasks.ExternalProgramBase.ExecuteTask() 
    at NAnt.Core.Tasks.ExecTask.ExecuteTask() 
    at NAnt.Core.Task.Execute() 
    at NAnt.Core.Target.Execute() 
    at NAnt.Core.Project.Execute(String targetName, Boolean forceDependencies) 
    at NAnt.Core.Project.Execute() 
    at NAnt.Core.Project.Run() 

感謝! David

+0

次のブログの投稿のおかげで、それを統合する方法の答えが見つかりました。 http://blog.dynamicprogrammer.com/CategoryView,category,ContinuousIntegration.aspx – davandries

答えて

0

=スペースで置き換えて&を使用してください。引数のパラメータの周りのマーカー

+0

この問題をどのように解決しましたか。私はこのエラーが発生しています。私は上記を使用してみました。ターゲット(nunit-console.exe)が見つからないというエラーが表示されます。このようなNANTの設定を追加しました。 nimi

+0

実行しているマシンのパスにnunit-console.exeの場所が設定されていることを確認してください上のスクリプト。 –

5

あなたが気づいたことがあるかもしれませんが、この作業はかなり複雑です。それは私を狂気の端まで追いやったが、やっと私はそれを走らせた。後者は不安定であると思われるのdevのバージョンであるため、

  • 使用PartCoverバージョン2.2ではなく2.3:ここ

    は、いくつかの一般的なアドバイスです。

  • PartCover.CorDriver.dllを必ず登録してください。

  • あなたがパスを引用する必要がある場合、引数を渡すことは最も難しい部分です。私は最後に設定ファイルを使用し、--settings経由で渡すことにしました。

+0
+0

(+1)レジスタは基本的な点ですが、エラーはありません誰も手がかりを与えない。 – Custodio