2017-01-29 7 views
0

VS 2015でNUnit 3.6を実行していて、NUnitの拡張機能(Addon)を作成しようとしていますが、アドオン、私はそのアドレスを.addinsファイルに入れ、すべてのものはdocumentationと言っていますが運はありません。私はNUnitの拡張機能(Addon)がVS2015で実行されたときにNUnitテストで検出されない

using NUnit.Engine; 
using NUnit.Engine.Extensibility; 
using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 
using static System.Net.WebRequestMethods; 

namespace AddOn 
{ 
    [Extension] 
    [TypeExtensionPoint(
    Description = "Test addon ")] 

    public class NUnitMonitor : ITestEventListener 
    { 
     public void OnTestEvent(string report) 
     { 
      System.IO.File.WriteAllText(@"D:\report.txt", report); 
      System.Diagnostics.Debug.WriteLine("TEST Report here : ", report); 

     } 
    } 
} 

答えて

1

あなたのコード内で一つのエラー:拡張ポイントはありませんあなたのコードでは、NUnitの自体にを定義している私は、コンソールからのユニットテストを実行する場合 それは期待通りここ がコード いるアドオンを検出し。それらはNUnitを拡張できるポイントです。したがって、TypeExtensionPointAttributeはコードに何の影響も与えませんが、何かを傷つけることはありません。

コンソールランナーを使用しているときに拡張機能を実行できるため、正しくインストールされています。ただし、Visual StudioでNUnit 3テストアダプタを実行している場合、そのNUnitエンジンのコピーは使用していません。代わりに、アダプター自体に組み込まれた専用コピーを使用しています。

文書化されていませんが、エンジンがインストールされているのと同じディレクトリに.addinsというファイルを作成し、拡張機能の場所へのパスを含めて拡張機能を利用できます。これは一般に、ナゲットパッケージを通してアダプターを取り付けた場合にのみ実用的です。その場合

、次の手順を実行します。

  1. は、プロジェクトディレクトリ内の便利な場所にアドインをコピーします。
  2. 拡張子が.addinsのファイルを、エンジンアセンブリがインストールされたディレクトリと同じディレクトリに作成します。
  3. .addinsファイルに、拡張アセンブリへのパスを1行追加します。
関連する問題