私の会社はVisual Studio 2012を2013 Premiumにアップグレードしています。この中で、 Visual Studio Team Services を使用してテストの自動化を開始することも検討しています
私は過去にいくつかのMSTest対nUnitの投稿と記事を読みましたが、ほとんどはMSTestの古いバージョンを比較しています。また、nUnitはMSTestと比較して多くの好意的なレビューを受けました。
私の質問は、自動テストを促進および促進するためにALM、アジャイルプラクティス、およびVS2013 PremiumおよびVisual Studio Team Servicesに追加されたすべてのものに対するMicrosoftのコミットメントを考慮すると、MSTestはnUnitと比較してどうですか?
使用するテストフレームワークを決定する前に、他にどのような考慮事項がありますか?
MSTestは最初に導入されてからあまり変更されていないため、古い比較投稿は引き続き有効です。 MicrosoftのALMへの焦点は、主にさらなるツールとサーバー製品を対象としていますが、基本的なテストフレームワークはあまり変更されていません。
また、MSTestとそのALM戦略全体が、統合テスト、システムテスト、パフォーマンステストなどを含む多くの異なるスタイルの自動テストを対象としていることに注意する必要があります。作業するには重すぎるため、単体テストにはあまり適していません。
NUnitの方が優れていますが、私もお勧めしません。それも何年もあまり変わっておらず、拡張性モデルは率直に言って混乱です。
代わりに、 xUnit.net をお勧めします。どちらも完璧ではありませんが、現在は.NETで最も優れた主流の代替品です。 xUnit.netがMSTestより優れている には多くの理由があります。
MSTest対NUnit:
TestCaseSourceAttribute
があり、パラメータ化されたテストケースを達成するのに役立ちますが、MSTestではDataSourceAttribute
が必要になります。全体として、両方のフレームワークを使用するのは良いことですが、NUnitに移行することをお勧めします。