Skip to content

MS_TestingFrameworks

nishi_74322014 edited this page Aug 3, 2026 · 1 revision

テスティング・フレームワーク

概要

テスティング・フレームワークは

などで使用される。

各ツールの説明と適合するシナリオについて分析する。

xUnit系ツール

.NET開発のJUnitに対応するテスティング・フレームワークには、
NUnit(MS_NUnit.md)やVisual Studio の単体テスト機能がある。
ただし、DJUnit、DBUnit相当のフレームワークは存在しない。

なお、これらの機能は、

Visual Studio 2005では、Team Developer、Team Tester以上

のEditionでしか利用できなかったが、

  • Visual Studio 2010では、Professional以上
  • Visual Studio 2012では、Premium以上

で利用可能になっている。

補足(最新化): Visual Studio 2015 以降、Ultimate / Premium という エディション区分は廃止され Community / Professional / Enterprise になった。 単体テスト機能は無償の Community でも利用できる。 フレームワークとしては、現在 MSTest(v2 / v3)・NUnit 3.x・xUnit.net の 3 つが dotnet test から等しく利用できる標準的な選択肢。

画面系

以下のUIテスト自動化が可能なxUnit系ツールも存在するが、
画面からテストする分、使い方が複雑になり、使い難くなっていると思われる。

  • NUnitAsp - ASP.NET unit testing
  • NUnitForms - An NUnit extension for testing Windows Forms applications.
  • なお、ASP.NET MVCでは、
    コントローラのアクションを実行するための
    テストコードを書けば良いため単体テストが容易になった。
    なお、使用するツールとしては、以下のデファクトのツールを使用できる。
    • NUnit(MS_NUnit.md
    • Visual Studio単体テスト機能

※ NUnitAsp / NUnitForms はいずれも開発が停止している。 現行の ASP.NET Core では WebApplicationFactory(Microsoft.AspNetCore.Mvc.Testing)による インプロセスの統合テストが標準的。

機能の変遷

VS2008

VS2010

VS2012

その他のツール

自動UIテスト

UIオートメーションを参照。

カバレッジ率

C0、C1、RC0、マージツールなどのカバレッジ機能がある。(単体・結合テスト方式

OpenCover

カバレッジ率を収集するツール。(MS_OpenCover.md

ReportGenerator

上記(テスト結果、カバレッジ率)のレポート生成ツール。

DevPartner Studio

カバレッジ分析の機能を持つ。

補足(最新化): OpenCover は 2019年にメンテナンス終了。 現行は coverletdotnet test --collect:"XPlat Code Coverage")が標準で、 レポート生成には ReportGenerator を引き続き併用できる。 DevPartner Studio は販売終了。

静的コード解析

Visual Studio

StyleCop

C#のコーディング内容をチェックする。(MS_StyleCop.md

※ 元の StyleCop は開発終了。現行は Roslyn ベースの StyleCop.Analyzers(NuGet)。

FxCop

Microsoftの

「クラス ライブラリ開発のデザインガイドライン」

に基づいてビルド出力のアセンブリを分析する。(MS_FxCop.md

※ FxCop(アセンブリ解析)は非推奨。現行は .NET アナライザー(Roslyn ベースのソース解析)が SDK に同梱され、<EnableNETAnalyzers> で有効化する。

DevPartner Studio

静的ソースコード解析の機能を持つ。

dotTEST

静的コード解析の機能を持つ(Jtestの.NET版)。

参考


Tags: テスト, デバッグ, .NET開発, ツール類, CI

NetDevInfraWiki

マイクロソフト系技術情報 Wiki
Open 棟梁 Wiki

(未着手)

開発基盤部会 Wiki

移行管理: DONETODO

Clone this wiki locally