問題タブ [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.
.net - NUnit 3.2.1 + TeamCity: ファイルまたはアセンブリ 'nunit.framework' を読み込めませんでした
最近、 TeamCity 9.1.6に更新して、 NUnit 3.2.1に基づく新しい単体テストを実行しました。しかし今、私はテストの実行に問題があります:
ビルド手順で NUnit3 エグゼキューターを選択し、それに応じて構成しました。
ビルド中に、「ファイルまたはアセンブリ 'nunit.framework' またはその依存関係の 1 つを読み込めませんでした。指定されたファイルが見つかりません。」というエラーが表示されます。.
パスは問題なく、アセンブリは Test アセンブリのパスにあり、すべてが AnyCPU 構成で構築されています。NUnit バージョンはリリース バージョンではないというエラーもありますが、これはでたらめだと思います。NUnit Web サイトでのリリースです。そして、エラーは何も壊していないようです(「nunit.framework」エラーの前にエラーがあったときでも存在し、それを修正するとビルドがさらに進みました)。
どんなリードも大歓迎です!
更新: コマンド ライン ランナーを使用してテストを実行し、同じ nunit3-console.exe を実行すると正常に動作します。したがって、これは NUnit ランナー固有の問題だと思います。それでも、これを修正する方法についての提案は大歓迎です。
更新 2: TeamCity で使用されるソリューション パッケージと NUnit-Console の両方を 3.0.0 にダウングレードしようとしましたが、結果は同じでした。
更新 3: 私が疑ったように、TeamCity サポートは、「サポートされていない NUnit バージョン」に関するメッセージは誤りであり、何にも影響しないはずであることを確認しました。
c# - NUnit3 並列テスト実行で Selenium Grid を構成する方法は?
私たちの現在の C#/Nunit 2.6.3 テスト フレームワークには、1 台の PC で実行するのに 35 時間以上かかる回帰スイートがあり、一部のテストは 20 分もかかります。複数のマシンで実行するテストのバッチをセットアップするのは時間がかかり、非効率的であるため、テストを NUnit 3 に移行して、Selenium Grid での並列実行の利点を得ようとしています。
IE の 1 つのインスタンスを実行する 12 のノードを持つことが私の目標です。ただし、VS 用の NUnit3 テスト アダプターは、すべてのテストを同時に実行しようとしているようです。
ノードを持つよりも多くのフィクスチャから常にテストを実行するため、ノードが使用可能になるまでフィクスチャをキューに入れることが重要です。実際には、テスト フィクスチャはノードが解放されるまで数時間待たなければならない場合があります。現在の構成実験では、次のように設定しています。
- 次の構成を持つハブ:
java -jar selenium-server-standalone-2.48.2.jar -role hub -newSessionWaitTimeout:-1 -browserTimeout 120 -timeout 3600
デフォルト構成の単一ノード。
それぞれ 10 個のテストを含む 2 つのテスト フィクスチャ。テスト フィクスチャには次の属性があります。
[Parallelizable(ParallelScope.Self)]
この状況では、IE の 1 つのインスタンスをサポートする 1 つのノードのみが実行されるため、1 つのテストのみが実行されると予想されます。ハブは、ノードが解放されると、キュー内の次のテストをノードに送信します。ただし、両方のテスト フィクスチャが同時に実行されているようです。1 つのテストがノードにプッシュされますが、他のフィクスチャのテストは失敗し、次のメッセージが表示されます。
結果メッセージ: OpenQA.Selenium.WebDriverException : URL http://localhost:4444/wd/hub/session
のリモート WebDriver サーバーへの HTTP 要求が60 秒後にタイムアウトしました。----> System.Net.WebException : 操作がタイムアウトしました
Java/JUnit フレームワークの Eclipse でグリッドを使用したとき、問題はありませんでした。ハブは、デフォルトの構成を使用して、タイムアウトなしでノードが解放されるまでテストをキューに入れます。
正しい構成を知っている人はいますか、それとも NUnit 3 テスト アダプターの問題ですか? 残念ながら、ブラウザの選択は IE に固定されています。
nunit - NUnit 3.0 のテスト フィクスチャからプログラムで 'Parallelizable' 属性を削除することは可能ですか?
現在、各テスト フィクスチャを並行して実行するように '[Parallelizable(ParallelScope.Fixtures)]' をセットアップしています。ユーザーがテスト フィクスチャを並列または順次実行するためのオプションを追加できるようにしたいと考えています。そうすることは可能ですか?
c# - TeamCity で IE テストを実行すると NUnit ランナーが失敗する
私の Devops チームは、昨日、テストを TeamCity サーバーに移動するのを手伝ってくれました。私はテストを実行していて、TC が IE テストの実行に問題を抱えていることに気付きました。Chrome と Firefox の両方のテストは問題なく実行されましたが、IE は失敗しました[OneTimeSetUp]
。テストを IE でのみ実行するように変更して、この問題を試してデバッグ[OneTimeSetUp]
し、最後に実行したときのビルド ログをログに追加しました。ああ、Visual Studio と Nunit3 コンソール ランナーの両方を使用してローカルでテストを実行すると、期待どおりに動作します。サーバー側の問題だけのようです。
visual-studio - TeamCity 内の app.config の値を変更する
すべての単体テストを含む Visual Studio ソリューション内には、いくつかのテキスト ファイルがあります。これらのテキスト ファイルは、単体テストによって生成された結果に基づいてチェックされます。
ファイルをロードするために、次の app.config があります。
ビルド実行ごとに TeamCity 内で次のことを行います。
BaseTestsDataPath をエージェントの特定の作業パスに変更します。
エージェントの作業フォルダー内の物理的なレイアウトを知っているので、知っておく必要があるのは次のとおりです。
- TeamCity のビルド手順でソリューションに対して Nunit を実行する前に app.config ファイルを変更する方法
selenium - Nunit 3 Console Runner を使用した Specflow テスト
私は最近新しいプロジェクトを開始し、Specflow 2.1 を使用することにしました。これには NUnit3 が同梱されています。
現在、プロジェクトはセットアップされ、Visual Studio のテスト ランナーは正しく実行されていますが、Nunit 3 コンソール ランナーから同じテストを実行しようとすると、エラーが発生します。
私が使用するコマンドは
nunit3-console.exe --labels=All --framework=net-4.5 Blah.Testing.Specflow.dll
同じアセンブリを使用して 2 つのネイティブ Nunit テストを追加しましたが、それらは正常に実行されています。失敗している 1 つの specflow テストです。
TechTalk.Specflow アセンブリを反映して CreateTestRunnerInstance メソッドを調べてみましたが、解決策を導くのに役立つものは何も見つかりませんでした。
生成されたステップ ファイル コードは次のとおりです。
どんな助けでも大歓迎です