問題タブ [nunit-3.0]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
743 参照

unit-testing - NUnit 3 はテストの「クラシック」構文を削除していますか?

Nunit には、現在2 つのスタイルの test の記述があります。

クラシックなスタイル

新しいスタイル

NUnit 2.9.3のリリース ノート(スクロール ダウン!) には、次のように書かれています。

古いスタイルのテストのサポートが削除されました

クラシック スタイルが削除されたということですか。

0 投票する
5 に答える
20786 参照

c# - NUnit3: 非同期タスクを使用した Assert.Throws

テストを NUnit3 に移植しようとしていますが、System.ArgumentException が発生しています: 'async void' メソッドはサポートされていません。代わりに 'async Task' を使用してください。

Assert.Throws は、次のように定義された TestDelegate を取るように見えます。

したがって、ArgumentException です。このコードを移植する最善の方法は何ですか?

0 投票する
2 に答える
3074 参照

parallel-testing - NUnit v3 アルファを使用して、[Parallelizable(ParallelScope.Fixtures)] に注意した後、TestFixtures を並行して実行するにはどうすればよいですか?

NUnit v3 を使用して、[Parallelizable(ParallelScope.Fixtures)] を 2 つの個別の [TestFixtures] に追加しました。

プラスはそれらが実行されること、マイナスはそれらが並行して実行されないことです。コードに注意する必要がある構文がありませんか? 私が調べたところ、現在アルファ版で、Fixture 内のテストではなく、TestFixtures の並列実行をサポートしています。

ただし、テストが並行して実行されていることがわかりません。私のターゲットはSauce Labsです。

各テストは直線的に実行され、成功します。私の目的のために TestFixture レベルで実行すると機能します。しかし、ここにはコンセプトが欠けているように感じます。

なぜこれが機能しないのかを理解するのに役立つどんな助けも素晴らしいでしょう。

レンありがとう

0 投票する
1 に答える
179 参照

c# - VS2015RC で NUnit 3 を使用する方法

VS2015RC で NUnit3 Beta を使用することはできますか?

新しいライブラリ プロジェクト (パッケージ) を作成し、NUnit を追加して、発生しているエラーを表示する簡単なテストを作成しました。

古いバージョンのフレームワークに依存していますか?

プロジェクト.json

設定

テストクラス

エラー

更新リリースノートには次 のように書かれています:

この問題を回避するには、次の手順に従います。 ソリューション エクスプローラーでエラーが報告されているプロジェクトを右クリックし、[プロジェクトのアンロード] をクリックします。ソリューション エクスプローラーでプロジェクトをもう一度右クリックし、[編集] をクリックします。

注 このコマンドで、 は実際のプロジェクト名を表します。Condition 属性を持たないプロジェクト ファイルの先頭にあるエントリに、次を追加します。

true ファイルを保存して閉じます。ソリューション エクスプローラーでプロジェクト名を右クリックし、[プロジェクトの再読み込み] をクリックします。

ただし、これを機能させることはできません。エラー ウィンドウに警告とエラーが表示されるだけです。

0 投票する
2 に答える
1219 参照

nunit - Nunit3 TestFixtureSource から渡されたパラメーターに基づいてテストケース名を変更する方法

NUnit 3.0 と TestFixtureSource を使用して、フィクスチャ内でさまざまなパラメーター/構成を使用して複数回テスト ケースを実行しています (これを TestFixture レベルで実行したいと考えています)。簡単な例:

構成の 1 つで Test() が失敗し、別の構成では成功したとします。実行レポート ファイルと Visual Studio のテスト エクスプローラーでは、失敗した実行と成功した実行の両方の名前が単に Test() として表示され、どのセットアップが問題を引き起こしたかについては何もわかりません。

この状況でテスト ケースの名前に影響を与える方法はありますか (つまり、フィクスチャの実行/構成ごとにその名前を前に付ける)? 回避策として、現在、各テスト ケースが起動する前に結果出力を出力していますが、それは避けたいと考えています。

NUnit 3.0 はベータ版であり、この機能はかなり新しいため、ドキュメントには何も見つかりませんでした。TestCaseData を見つけましたが、まだフィクスチャで使用するように調整されているとは思いません (テスト ケース用に設計されています)。

0 投票する
0 に答える
92 参照

c# - Nunit 3.0 ベータ 4; TestCaseSource を使用してテスト ケースが検出されない

テスト ケースの Excel ファイルを読み取るプロジェクトがあります。Excel を読み取り、ケースを C# クラスにマッピングするためのコードは、次のように行われます。

そして、テスト方法は次のようになります

現在、これらはすべて Nunit 2.6.4 で正常に動作しますが、ベータ版では、テスト ケースの検出中に Excel が読み取られません。TestCaseSource と共にベータ版の TestFixtureSource を使用する必要があります。

0 投票する
1 に答える
4828 参照

testing - NUnit 3.0 にテスト ステータス プロパティはありますか?

NUnit v. < 3.0 には TestContext クラスがあり、以前に実行したテストのステータスを教えてくれるプロパティがありました。

使用できるプロパティにアクセスするにはTestContext.CurrentContext.Result.Status

現在、NUnit 3.0 にはStatus!というプロパティはありません。したがって、すべてのテストを変更する必要があります。

私の質問は次のとおりです。以前のバージョンで可能だったように、NUnit 3.0 でテスト ステータスを取得することは可能ですか?

興味深いことに、プロパティを持つクラスTestStatusPassed, Failedがありました:などを使用して、現在のステータスと比較しました。このクラスは NUnit 3.0 に存在します!

私のコード:

0 投票する
8 に答える
12747 参照

teamcity - TeamCity 9.x に nUnit 3 nunit3-console.exe をインストールする方法

NUnit 3.0 は現在 TeamCity 9.1.x でサポートされていますが、ランナーをインストールし、ステップで nunit3.console.exe へのパスを指定する必要があります。私の質問は、nunit3-console.exe をどこにコピーすればよいですか? これをすべてのエージェントに適用する必要がありますか? メインの TeamCity サーバーのディレクトリに配置すると、エージェントによって共有またはプルされますか? すべてのエージェントが使用できるように、これらのファイルをコピーする場所に関する適切なドキュメントがないようです。

0 投票する
3 に答える
41398 参照

c# - NUnit 3.0 と Assert.Throws

NUnit 3.0 でいくつかの単体テストを書いていますが、v2.x とは異なりExpectedException()、ライブラリから削除されています。

この回答に基づいて、テストのどこでシステムが例外をスローすると予想されるかを具体的にキャッチしようとするロジックを明確に見ることができます(単に「テストのどこか」と言うのではなく)。

ただし、私は自分のアレンジ、アクト、アサートの手順について非常に明確にする傾向があり、これが課題になります。

私は次のようなことをしていました:

今、私は次のようなことをする必要があります:

これはひどいことではありませんが、私の意見では、Act と Assert を混乱させます。(明らかに、この単純なテストの場合、理解するのは難しくありませんが、大規模なテストではより困難になる可能性があります)。

私は同僚に、Assert.Throws完全に取り除き、次のようなことをするよう提案してもらいました。

ここでは、厳密な AAA 形式に固執しますが、さらに肥大化を犠牲にします。

そこで、私の質問は AAA スタイルのテスターに​​向けて出されます: 私がここでやろうとしているような、ある種の例外検証テストをどのように行いますか?