より良いエンジニアを目指して

1日1つ。良くなる!上手くなる!

NUnitユーザーから見たXUnit

NUnitとXUnit、どちらもC#のテストフレームワークです。

NUnitのヘビーユーザーからのXUnitを使ってみて感じたことを書きます。

どうしても偏った意見になってしまいますので、ご承知おきください。

 

XUnitの良いところ

メソッド名

AreEqualでなくEqualと関数名が簡潔なのは良いのは認めざるを得ないと思います。

確かにAreは必要かというと不要です。

 

型の比較

型の比較が正確なところは良いと思います。

 

NUnitだと

            Assert.AreEqual(1, "test"); 

 

が、コンパイルエラーになりません。

これは確かに残念。

 

なのに、XUnitについて検討が必要な点

会社の別の人間がNUnitかXUnitか検討してNUnitにした点で以下の課題でした。

XUnitだとSetupというアトリビュートはなく、コンストラクタで宣言することになります。

Comparing xUnit.net to other frameworks > xUnit.net

日本語ドキュメントについては、検索したところ、全くない訳ではないですね。

我々、和製C#erの努力が必要なのかなと。

コンソール出力について一手間必要

NUnitであれば、Console.WriteLineすれば出力できます。

が、XUnitについては下記記事のような一手間が必要です。

Capturing Output > xUnit.net

 

テストケースについて

このあたりは慣れとかなのでしょうが、

NUnitだとIEnumerable<TestCaseData>を返すメソッドを宣言して、TestCaseSourceアトリビュートで指定すればいいのですが、

XUnitだとクラスを宣言してメソッドも宣言するのはうーん。

 

andrewlock.net