1

実行したい数千の NUnit テストのリストがあります (別のツールによって自動的に生成されます)。(これはすべてのテストのサブセットであり、頻繁に変更されます)

これらを NUnit-Console.exe 経由で実行できるようにしたいと考えています。残念ながら、 /run オプションは、私の場合は単一のコマンドラインに収まらないファイルの直接リストのみを取ります。ファイル名からリストを取得したいと思います。

カテゴリを使用できることはありがたいのですが、実行したいリストは頻繁に変更されるため、ソース コードの変更を開始する必要はありません。

指定したテストを NUnit で実行するためのクリーンな方法があるかどうかは誰にもわかりませんか? (完全なコマンド ラインを使用して NUnit-console への一連の小さな呼び出しに分割することもできますが、それはあまりエレガントではありません)

(それが不可能な場合は、NUnit 機能のリクエストとして追加する必要があるかもしれません。)

4

3 に答える 3

3

(NUnit 開発チームの) Charlie Poole から、これは現在不可能であるという返信がありましたが、NUnit 2.6 の機能要求として追加されました。

于 2011-08-19T04:31:08.290 に答える
1

あなたの言っていることはわかりますが、あなたが言うように、コマンドラインから単一のフィクスチャを実行できます。

nunit-console /fixture:namespace.fixture tests.dll

同じフィクスチャですべてのテストを生成するのはどうですか? または、それらすべてを同じアセンブリに配置しますか?

nunit-console tests.dll
于 2011-08-18T09:54:08.100 に答える
0

nunitLinkで述べたように、シナリオ/テスト ケース名を言及する必要があります。シンプルですが、ちょっとしたコツがあります。テスト ケース名を直接言及しても目的が果たされず、0 個のテストケースが実行されることになります。同じパスの正確なパスを記述する必要があります。

他の言語でどのように機能するかはわかりませんが、c# を使用して解決策を見つけました。機能ファイルを作成するたびに、対応する feature.cs ファイルが Visual Studio で作成されます。featureFileName.feature.cs をクリックして名前空間を探し、脇に置いておきます (パート 1)

namespace MMBank.Test.Features

少し下にスクロールすると、クラス名が表示されます。それも覚えておいてください(後編)

public partial class HistoricalTransactionFeature

下にスクロールし続けると、基本的に nunit が実行のために理解するコードが表示されます。

[NUnit.Framework.TestAttribute()]
[NUnit.Framework.DescriptionAttribute("TC_1_A B C D")]
[NUnit.Framework.CategoryAttribute("MM_Bank")]

コードの下に、TC_1_ABCD(特定のパラメーター) である可能性が最も高い関数/メソッド名が表示されます。

public virtual void TC_1_ABCD(string username, string password, string visit)

いいえに基づいて、そのような方法を複数持つことになります。機能ファイルにあるシナリオの。実行したいメソッド(テストケース)をメモしておく(その3)

すべてのパーツをドットで照合します。最後に、このようなものに着陸します。

MMBank.Test.Features.HistoricalTransactionFeature.TC_1_ABCD

これです。同様に、複数の機能ファイルからテスト ケース名を作成し、それらをテキスト ファイルに積み重ねることができます。すべてのテスト ケース名は別の行にある必要があります。コマンドについては、上記の nunit リンクを参照して、コマンド プロンプトを使用して実行できます。

于 2016-07-07T13:59:22.963 に答える