2013-04-25 11 views
5

NUnitでは、NUnit.Framework.TestContext.CurrentContextで現在のテストを取得することができます。私のローカルマシンでテストを実行すると、これはテスト中に正しく入力されます。しかし、TeamCityを実行しているdevサーバーにプッシュすると、このデータ構造にはエラーが発生する問題があります。これらのエラーは、context.Test.FullName,context.Test.Name、およびcontext.Resultにアクセスすると発生します。たとえば、次のコード:TeamCityで現在のTestContextを取得する方法NUnitランナー

var name = NUnit.Framework.TestContext.CurrentContext.Test.Name; 

この例外が発生しますが、チームシティーは、テストを実行しているときにのみ:

TearDown method failed. TearDown : System.NullReferenceException : Object reference not set to an instance of an object. 
--TearDown 
    at NUnit.Framework.TestContext.TestAdapter.get_Name() 

はチームシティーはTestContextに移入されていないか、またはこれを取得するための正しい方法がありますデータ?

答えて

1

TeamCityがTestContextデータ構造にデータを入力していないため、これは不可能です。 NUnitの設定者は公開されていないため、これもできません。この機能を有効にするには、NUnitを変更する必要があります。

この制限を回避するために、テストの失敗を示すカスタムデータ構造を持つ独自のテストランナーを作成しました(これが主な目的です)。

関連する問題