問題タブ [nunit-console]
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.
nunit - CruiseControl.NET/nant で、.Test が後置されたすべての Unittest プロジェクトを実行するにはどうすればよいですか?
継続的インテグレーションのセットアップで、CruisControl.NET をセットアップして、すべてのユニットテストを自動的に実行したいと考えています。ただし、構成ですべての unittest dll を個別に指定する必要はありません。
すべての unittest プロジェクトはすべて接尾辞付きです.Test
(およびすべての非 unittest プロジェクトはそうではありません)。これらのプロジェクトからすべての単体テストを実行するように CruiseControl.NET を構成するにはどうすればよいですか (CruiseControl.NET の v1.5.7256.1 を使用しています)。
私の現在の設定の試み:
この特定の nunit 要素に関するドキュメントを見つけるのは非常に困難です。私が見つけることができるほとんどのページは、 exec、nunit2または別のnunit要素またはnunit-console コマンドライン オプション の使用について話しています。
私はビルド環境を管理した経験があまりなく、次の方法ですべてのアセンブリが個別に指定された既存の構成に取り組んでいます。
したがって、ワイルドカードを使用して失敗しました。
編集:
コンテキストを少し示すために、構成ファイルの追加の xml を次に示します。
Mightmuke の提案の後、要素を彼の提案に置き換えようと<nunit>
しましたが、次の例外が発生しました。Unable to instantiate CruiseControl projects from configuration document. Configuration document is likely missing Xml nodes required for properly populating CruiseControl configuration. Unable to load array item 'property' - Cannot convert from type System.String to ThoughtWorks.CruiseControl.Core.ITask for object with value: ""
<property>
次に、 and要素を<foreach>
要素の外に移動しようとしました。次に、例外が発生します。Unused node detected: <property name="nunit.filelist" value="" />
私は今、<foreach>
要素とそれをどこに置くことができるかについてもっと調べようとしていますが、どういうわけか、それに関するドキュメントを見つけるのは難しいと思います.
EDIT2:
私が使用している nunit タスクのドキュメントを見つけました: http://ccnet.sourceforge.net/CCNET/NUnit%20Task.html
要素が String[] 型になるように指定します。それが何を意味するのかわかりません...しかし、例から、単数形で同じ名前の子要素のリストを含まなければならないことを意味しているようです。
PS: この質問が少し手に負えなくなってきていることを認識しています... すべてが解決したら、後で他の人に役立つように、そのような形式で編集しようとします。
testing - コマンドラインからの nunit-test の実行
nunit-console Testsuite.slnを実行しようとすると、次の出力が得られます
助言がありますか?モノラル開発でテストランナーからテストを実行すると、問題なく動作します。
nunit - MySolution.slnを使用してnunit-console「ファイルまたはアセンブリを読み込めませんでした」
nunit-console
ソリューションのすべてのテストを実行するために使用します。
これは私がしました:
だから、私は試してみるnunit-x86.exe
ことにしFile > Open Project > MySolution.sln
ました。
何が起きていて、どうすれば修正できますか? (MySolution.nunit ファイルを維持する必要はありません)
詳しくは
MyNamespace.Administration
は、テストを含む dll の 1 つでもありません。つまり、nunit は、実行するテストを探すためにそれを読み込もうとして失敗します。これを知って、nunit-x86.exe
(MySolution.nunit) によって作成されたファイルを編集し、テストのないすべての dll を削除しました。案の定、テストは (GUI とコンソールの両方で) 機能します。これは、さらに別の構成ファイルを保持する必要があることを意味するため、私には受け入れられません。.sln ファイルをサポートする Nunit は、これを回避するはずでした。- テストは TestDriven.Net を使用して正常に実行されます (ただし、実際には nunit-console を使用してテストを実行する必要があります)
この回答を見ましたが、フュージョン ログ ビューアーの内容が理解できません。そのログを投稿すると役に立ちますか?アセンブリ バインディング ログ ビューアーには、作成中の 3 つのファイルが一覧表示されます。- nunit-agent-x86.exe、これは nunit ディレクトリ内を見つけようとしているようです
MyNamespace.Administration.dll/EXE
- Tests_24398275 x2 - 1 つはプロジェクト フォルダーで nunit.core を探し、もう 1 つはプロジェクト フォルダー内で unit.core.interfaces を探します。これら 2 つは、手動で編集した .nunit プロジェクトにも表示されるため、ほとんど注意を払いません)。
- nunit-agent-x86.exe、これは nunit ディレクトリ内を見つけようとしているようです
- (andreister のコメントによる) 問題は、作成方法ではなく、プロジェクト/アセンブリ自体にあるようです。.nunit プロジェクトを作成して追加しようとする
MyNamespace.Administration
と (「アセンブリの追加...」または「VS プロジェクトの追加...」を使用)、失敗します。 nunit-console-x86 somepath/bin/Debug/MyNamespace.Administration.dll
直接呼び出すと機能します。
dotcover - アセンブリ内のすべてのクラスをカバーしていない Dotcover レポート (nunit)。
Dotcover レポート (nunit) は、アセンブリ内のすべてのクラスをカバーしていません。nunit-console.exe (2.4.1) を使用して Dotcover によって生成されたレポートを見ると、アセンブリからいくつかのクラスしか見つかりませんが、すべてではありません。
c# - Nunit コンソール ランナーでのカテゴリ式の使用
/include または /exclude ステートメントを使用する場合、カテゴリ式に関するこのリンクを読んでいました。/include:A+B または /exclude:A. ただし、何らかの理由で、実行するテストおよび/または実行しないテストの数が間違って表示されます。何故ですか?
(ソース コードを操作して) 式を分類し、コンソールでコマンドを実行する方法を追加する方法の例を教えてもらえますか?
基本的に私がしたことは次のとおりです。
そして、私のコマンド ライン ステートメントは nunit-console /framework:net-4.0 /run:NUnit_Application.Test.TestClass.AddTest C:~\NUnit_Application\NUnit_Application\NUnit_Application.Test\bin\Debug\NUnit_Application.Test.dll /include:" でした。マサ」
問題は、コンソールがコマンドの意味に精通しており、Math A カテゴリが含まれていると表示されていることです。ただし、ゼロのテストが実行され、ゼロのテストが実行されていないことを示しています。
コンソールランナーである NUnit 2.6.2 を実行しています。
serialization - NUnit コンソールは、シリアル化テスト用のアセンブリを読み込めません
エラーメッセージ:
System.Runtime.Serialization.SerializationException : アセンブリ 'MyCompany.Plates、Version=12.15.0.0、Culture=neutral、PublicKeyToken=0b9f95a95d107d22' が見つかりません。+++++++++++++++++++ スタック トレース: System.Runtime.Serialization.Formatters.Binary.BinaryAssemblyInfo.GetAssembly() で
2 つの DLL ファイルがあります。
PlatesTests.dllおよびMyCompany.Plates.dll
テストはすべてPlatesTests.dll
. シリアル化されるオブジェクトはMyCompany.Plates.dll
.
PlatesTests.dll
に渡して実行するとnunit-console.exe
、すべてが渡されます。
ただし、私たちのビルド システムでは、次のように .nunit ファイルを使用します。
そして、この .nunit ファイルに対して nunit-console を実行すると、上記のエラーが発生します。
この問題を解決するにはどうすればよいですか?
nunit - ワイルドカードを使用してコンソールから NUnit テストを無視する
ワイルドカードに基づいてコマンドラインから NUnit を実行するときに単体テストを無視できる方法はありますか?
たとえば、IntegrationTest で終わるテストを実行したくないとしますか? その場合、次を含むすべてのテストを無視すると言いたい*IntegrationTest*