2017-07-05 6 views

答えて

1

はい、Cakeビルドでテスト実行レポートを作成することは可能です。テストランナーとしてNUnit3を使った簡単な例です(サポートされている他のランナーはMSTest、XUnit、NUnit2です)。

#tool "nuget:?package=NUnit.ConsoleRunner" 
#tool "nuget:?package=SpecFlow" 

var target = Argument("target", "Default"); 

Task("Default") 
    .Does(() => 
{ 
    SpecFlowTestExecutionReport(tool => { 
     tool.NUnit3("/path/to/your/tests.dll", 
      new NUnit3Settings { 
       Results = "/path/to/testresults.xml", 
       ResultFormat = "nunit2", 
       Labels = NUnit3Labels.All, 
       OutputFile = "/path/to/testoutput.txt" 
      }); 
     }, "/path/to/your/test/project.csproj", 
     new SpecFlowTestExecutionReportSettings { 
      Out = "/path/to/specflow/execution/report.html", 
      XsltFile = "/path/to/optional/transform/file.xslt" 
     }); 
}); 

RunTarget(target); 

しかし、アンドレアス・ヴィリッヒansweredとして、あなたは投稿の出力例は、SpecFlow +ランナーレポートです。正直なところ、SpecFlowエイリアスがそのランナーと互換性があるかどうかは言えません。これは、デフォルトのSpecFlowランナーでのみテストされています。

+0

答えをありがとう:) – Pepper

2

これはSpecFlow +ランナーレポート(http://specflow.org/plus/runner/)です。 CakeBuildについては、VSTestとSpecFlow + Runnerテストアダプターを使ってテストを実行することをお勧めします。

したがって、VSTest機能(http://cakebuild.net/dsl/vstest/)を使用して、TestAdapterPathをローカルのNuGetパッケージフォルダに設定します。

このレポートが生成されます。

関連する問題