問題タブ [nunit]
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.
c# - 静的単体テスト変数を格納する最良の方法は何ですか?
現在、NUnit を使用してクラス ライブラリをテストしています。これまで、いくつかの静的テスト変数を保持するために、テスト クラスの先頭にある定数のリストを使用してきました。これはこれを行うための最良の方法ですか、それともより流暢に処理する方法はありますか?
c# - プログラムでNUnitを実行する方法
NUnitを参照し、単一のテストメソッドで単一のテストクラスを作成するアセンブリがいくつかあります。このアセンブリへのファイルシステムパスを取得できます(例:「C:... \ test.dll」)。プログラムでNUnitを使用して、このアセンブリに対して実行したいと思います。
これまでのところ:
ただし、runner.Load(path)を呼び出すと、FileNotFound例外がスローされます。スタックトレースから、問題はNUnitがスタックのAssembly.Load(path)を呼び出すことにあることがわかります。パスを「Test、Version = 1.0.0.0、Culture = neutral、PublicKeyToken = null」のように変更しても、同じエラーが発生します。
AppDomain.Current.AssemblyResolveにイベントハンドラーを追加して、このタイプを手動で解決できるかどうかを確認しましたが、ハンドラーが呼び出されません。
Assembly.Load(...)を機能させる秘訣は何ですか?
asp.net - Visual Studio で NUnit を追加する方法
アプリケーションのテスト ケースを作成する必要があります。私は NUnit を選択しました。Visual Studio IDE に NUnit を追加する方法を教えてください。どこでダウンロードできますか?
c# - x86 ビルドの場合、Nunit.exe は Vista 64 ビットでは動作しません
私は Vista 64 ビットを使用しており、x86 構成でビルドされたプロジェクトがあります。すべて正常に動作します。今、私たちはテストを作成する時です。NUnit 2.4.8 がありますが、多くの問題があります。
テストは、.dll を直接選択すると Nunit.exe (gui) を介して読み込まれますが、実行すると system.badimageformatexception が発生します。
nunit.exe.config に関するいくつかのトリックを Google で検索して読みましたが、どれも機能しません。(UTF8に変更...起動用の.netバージョンのコメントを外します)。
何か案が?
アップデート
ソリューションをクリーンアップし、すべての BIN フォルダーを消去しました。コンパイルすると、x64 にあった古い /debug/ ではなく、bin ディレクトリに /x86/ しかないことがはっきりとわかります。
Nunit を使用すると、(ロード中に) 例外があります: System.IO.FileNotFoundException...
サーバー スタック トレース: System.Reflection.Assembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, Assembly locationHint, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection) at System.Reflection.Assembly.InternalLoad(AssemblyName assemblyRef, Evidence assemblySecurity, StackCrawlMark& NUnit.Core.Builders.TestAssemblyBuilder.Load (文字列path) で NUnit.Core.Builders.TestAssemblyBuilder.Build(String assemblyName, Boolean autoSuites) で NUnit.Core.Builders.TestAssemblyBuilder.Build(String assemblyName, String testName,Boolean autoSuites) の NUnit.Core.TestSuiteBuilder.BuildSingleAssembly(TestPackage パッケージ) の NUnit.Core.TestSuiteBuilder.Build(TestPackage パッケージ) の NUnit.Core.SimpleTestRunner.Load(TestPackage パッケージ) の NUnit.Core.ProxyTestRunner.Load(TestPackage パッケージ) ) NUnit.Core.ProxyTestRunner.Load(TestPackage パッケージ) で NUnit.Core.RemoteTestRunner.Load(TestPackage パッケージ) で System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(IntPtr md, Object[] args, Object server, Int32 methodPtr、Boolean fExecuteInContext、Object[]& outArgs) を System.Runtime.Remoting.Messaging.StackBuilderSink.SyncProcessMessage(IMessage msg、Int32 methodPtr、Boolean fExecuteInContext) でBuild(TestPackage パッケージ) at NUnit.Core.SimpleTestRunner.Load(TestPackage パッケージ) at NUnit.Core.ProxyTestRunner.Load(TestPackage パッケージ) at NUnit.Core.ProxyTestRunner.Load(TestPackage パッケージ) at NUnit.Core.RemoteTestRunner.Load( TestPackage パッケージ) の System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(IntPtr md, Object[] args, Object server, Int32 methodPtr, Boolean fExecuteInContext, Object[]& outArgs) at System.Runtime.Remoting.Messaging.StackBuilderSink. SyncProcessMessage(IMessage msg, Int32 methodPtr, Boolean fExecuteInContext)Build(TestPackage パッケージ) at NUnit.Core.SimpleTestRunner.Load(TestPackage パッケージ) at NUnit.Core.ProxyTestRunner.Load(TestPackage パッケージ) at NUnit.Core.ProxyTestRunner.Load(TestPackage パッケージ) at NUnit.Core.RemoteTestRunner.Load( TestPackage パッケージ) の System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(IntPtr md, Object[] args, Object server, Int32 methodPtr, Boolean fExecuteInContext, Object[]& outArgs) at System.Runtime.Remoting.Messaging.StackBuilderSink. SyncProcessMessage(IMessage msg, Int32 methodPtr, Boolean fExecuteInContext)Messaging.StackBuilderSink._PrivateProcessMessage(IntPtr md, Object[] args, Object server, Int32 methodPtr, Boolean fExecuteInContext, Object[]& outArgs) System.Runtime.Remoting.Messaging.StackBuilderSink.SyncProcessMessage(IMessage msg, Int32 methodPtr, Boolean fExecuteInContext) )Messaging.StackBuilderSink._PrivateProcessMessage(IntPtr md, Object[] args, Object server, Int32 methodPtr, Boolean fExecuteInContext, Object[]& outArgs) System.Runtime.Remoting.Messaging.StackBuilderSink.SyncProcessMessage(IMessage msg, Int32 methodPtr, Boolean fExecuteInContext) )
[0] で例外が再スローされました。 NUnit.Util.TestDomain.Load(TestPackage パッケージ) の NUnit.Util.TestLoader.LoadTest(String testName) の TestRunner.Load(TestPackage パッケージ)
更新 2
x64 ではなく x86 に変更した任意の CPU でコンパイルしています。理由はデバッグのためです。これについては、前のリンクですでに説明されています。NUnit が 64 ビット mod と Corflags.exe で実行されていることを確認する必要があります。
c# - デフォルトのコンストラクターの代わりに TestFixtureSetUp 属性を使用するのはいつですか?
NUnit のドキュメントには、TestFixtureSetup
いつメソッドを使用してコンストラクターでセットアップを行うべきかが記載されていません。
対デフォルトコンストラクターについて良い/悪い慣行TestFixtureSetup
はありますか、それとも違いはありませんか?
nunit - savefileメソッドをテストするためにNUnitでテストメソッドを書く方法は?
オブジェクトを xml に保存するための savefile メソッドを作成しました。しかし、NUnit でメソッドをテストする方法がわかりません。サンプル ファイルを手動で作成し、ファイル間で文字列を比較する必要がありますか? メソッドをテストするためのより良い方法はありますか?
ご回答有難うございます。
c# - NUnit(Selenium Grid)テストを並行して実行するにはどうすればよいですか?
私の現在のプロジェクトでは、単体テストとSeleniumで記述されたUATの駆動にNUnitを使用しています。開発者は通常、VS.Net 2003でReSharperのテストランナーを使用してテストを実行し、ビルドボックスはNAntを介してテストを開始します。
UATテストを並行して実行して、Selenium Grid / RCを利用して、はるかに高速に実行できるようにしたいと考えています。
これがどのように達成されるかについて誰かが何か考えを持っていますか?および/または重複するテストを自動的に作成せずに複数のブラウザ環境に対してSeleniumテストをテストするためのベストプラクティス?
ありがとうございました。
c# - nunit単体テストのためのファイル依存関係の検索
内部でファイルを検索するwinforms C#クラスがありました..単体テストを支援するために、次のような外部からファイルを渡すように変更しました。
文字列ファイル = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location + "TestXML.xml");
Foo = 新しい Foo(ファイル);
問題は、コードが正常に機能することですが、Nunit で実行すると、「ディレクトリ C:\doc & settings\ . . .. testxml.xml が見つかりません」というエラーが表示されることです。
何かご意見は?
visual-studio-2005 - NUnitアセンブリはVSの[参照の追加]ダイアログにどのように表示されますか?
したがって、NUnitをインストールすると、アセンブリ(nunit.framework
など)がReferences > Add Reference
ダイアログに表示されますが、%WINDIR%\Microsoft.NET\Framework\v2.0.50727
ディレクトリにはなくNUnit
、アセンブリパスのレジストリエントリはありません(i.e. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramewokr\AssemblyFolder)
。
また、NUnit
インストールディレクトリのプロジェクトプロパティの参照パスに自動エントリは作成されません。「追加ダイアログ」にどのように表示されますか?!?!「参照の追加」にアセンブリを表示できるのは、前述の方法だけだと思いました。
msbuild - NUnitおよびNAntの将来の考慮事項
.NET v1の期間中、私はNUnitとNAntの追加ツールを使用して、テスト駆動および自動ビルドの作業習慣を開発するよう同僚を説得することに成功しませんでした。.NETFramework2.0とVisualStudio2005 Team Suiteが登場したとき、私はチームにテストの作成を「強制」し、VisualStudio内で視覚的なテストを提供することができました。さらに、追加のMSBuildタスクを使用してプロジェクトファイルを微調整し、ビルドの自動化をさらに実行することができました。
もちろん、これはマイクロソフトが完璧なシステムを提供したことを意味するものではありませんが、彼らはこれらを正しいステップで進めてきたと思います。これらすべての機能がフレームワークと製品に組み込まれ、「ネイティブ」になることで、開発者をより良い開発手法に移行させることが少し簡単になりました。
オープンソースのオプション(私は見逃している)を長い間忘れていたので、NUnitとNAntの現在の化身はどのような価値提案を持っているのだろうかと思います。チームにMSBuildまたはMSTestを使用しないように説得するために、この段階でどのようなケースを主張できますか?
明確化:私の会社は純粋なMicrosoftSIです。Visual Studio Team Suiteエディション、Database Professionalエディション、TFSなどを使用できます。VisualStudioProfessionalエディション以下は使用していません。