[解決済み] NUnit vs. MbUnit vs. MSTest vs. xUnit.net [終了しました。]
質問
.NET用のunittestingフレームワークはかなりたくさんあります。この小さな機能比較を見つけました。 http://xunit.github.io/docs/comparisons.html
今、私は私たちにとって最適なものを選ぶことになっています。でも、どうやって?それは重要なことなのでしょうか?どれが最も将来性があり、それなりの勢いがあるのでしょうか?機能を重視すべきなのか?xUnitは最も近代的で、.NET用に特別に設計されているようですが、NUnitは広く受け入れられているようです。MSTestはすでにVisual Studioに統合されています。
解決方法は?
古いスレッドですが、一票を投じようと思い xUnit.NET . 他のテストフレームワークはほとんど同じですが、xUnit.NETはユニットテストに対してかなりユニークでモダン、そして柔軟なアプローチをとっています。それは、もはやTestFixturesやTestsを定義するのではなく、コードに関するFactsとTheoriesを指定するように用語を変更し、TDD/BDDの観点からテストとは何かという概念とよりよく統合されるようになりました。
xUnit.NETは、非常に拡張性が高いのも特徴です。FactAttributeとTraitAttributeの属性クラスはシールされておらず、オーバーライド可能なベースメソッドを提供しているため、これらの属性が装飾するメソッドの実行方法を大幅に制御することができます。xUnit.NETのデフォルトでは、NUnitのテストフィクスチャと同様のテストメソッドを持つテストクラスを書くことができますが、この形式のユニットテストに限定されるものではありません。フレームワークを拡張して、BDDスタイルのConcern/Context/Observation指定をサポートすることも可能です(図参照)。 こちら .
xUnit.NETは、Theory属性とそれに対応するdata属性により、フィットスタイルのテストも直接サポートしています。Fitの入力データは、Excelやデータベース、あるいはWord文書などのカスタムデータソースから読み込むことができます(baseデータ属性を拡張することで)。これにより、単体テストと統合テストの両方に単一のテストプラットフォームを利用できるようになり、製品の依存性や必要なトレーニングを減らす上で大きな効果を発揮します。
xUnit.NETでは、テストに対する他のアプローチも実装することができます。xUnit.NETのモッキングフレームワークと組み合わせることで、より効果的なテストが可能になります。 Moq この2つは、自動テストを実装するための非常に柔軟で拡張性の高い、強力なプラットフォームとなります。
関連
-
[解決済み] Moqでクラスをモックするとき、特定のメソッドだけをCallBaseする方法は?
-
[解決済み] NUnit vs. MbUnit vs. MSTest vs. xUnit.net [終了しました。]
-
[解決済み] プライベートメソッドをテストすべきか、パブリックメソッドのみをテストすべきか?[クローズド]
-
[解決済み】ユニットテスト初心者、優れたテストを書くには?[クローズド]
-
[解決済み] ユニットテストはゲッターとセッターのために書くべきですか?
-
[解決済み] MSTestで複数のパラメータを持つテストメソッドを実行するにはどうすればよいですか?
-
[解決済み] GTestとCMakeを使った作業の始め方
-
[解決済み] ユニットテストとは、どのようなもので、どのように行うのですか?[重複あり]
-
[解決済み] スタブとは?
-
[解決済み] RSpec vs Cucumber (RSpecの話) [終了しました。]
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] mockitoのwhen()呼び出しはどのように動作するのですか?
-
[解決済み] ユニットテストの命名のベストプラクティス [終了しました]。
-
[解決済み】Arduinoのコードをユニットテストするにはどうしたらいいですか?
-
[解決済み】Unit Testsの一般的な命名規則にはどのようなものがありますか?[クローズド]。
-
[解決済み] いつモックすればいい?
-
[解決済み] GTestとCMakeを使った作業の始め方
-
[解決済み] Go の testing パッケージを使用してテストのセットアップを行うにはどうすればよいですか?
-
[解決済み] RSpec vs Cucumber (RSpecの話) [終了しました。]
-
[解決済み] Go言語でのテストに適したパッケージの命名法
-
[解決済み] Enzyme - How to access and set <input> value?