-
Notifications
You must be signed in to change notification settings - Fork 0
MS_TestingFrameworks
- 戻る(テスト、CI、テスト自動化)
- テスティング・フレームワーク
- UIオートメーション
テスティング・フレームワークは
- UIテスト自動化
- レグレッション・テスト(リグレッション・テスト)
- TDD(テスト駆動開発)
などで使用される。
各ツールの説明と適合するシナリオについて分析する。
.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単体テスト機能
- NUnit(
※ NUnitAsp / NUnitForms はいずれも開発が停止している。
現行の ASP.NET Core では WebApplicationFactory(Microsoft.AspNetCore.Mvc.Testing)による
インプロセスの統合テストが標準的。
-
特集:Visual Studio 2008単体テスト機能徹底活用(前編)Visual Studio 2008単体テスト機能のすべて - @IT
- Visual Studio 2008では、Professional Editionでも使用できる。
-
Visual Studioで作る単体テスト、基本のき(VS2010向け改訂版):CodeZine
- Visual Studio 2010では、Professional Editionでも使用できる。
- 第 1 回 Visual Studio 2012 による単体テスト(Visual Studio 2012 自習書シリーズ)
- Visual Studio 2012で「単体テストの作成」機能が無くなったけど良い感じ
-
単体テストの作り方がVisualStudio 2012から変わった
- 機能が変わって、Visual Studio 2012では、Premium Edition以上で使用できる。
- 「単体テストの作成」機能が無くなったのは、テストファーストで無い為と言われている。
UIオートメーションを参照。
C0、C1、RC0、マージツールなどのカバレッジ機能がある。(単体・結合テスト方式)
カバレッジ率を収集するツール。(MS_OpenCover.md)
上記(テスト結果、カバレッジ率)のレポート生成ツール。
カバレッジ分析の機能を持つ。
補足(最新化): OpenCover は 2019年にメンテナンス終了。 現行は coverlet(
dotnet test --collect:"XPlat Code Coverage")が標準で、 レポート生成には ReportGenerator を引き続き併用できる。 DevPartner Studio は販売終了。
- Visual Studio のコード分析機能は FxCop と同じ機能を提供。
- 2010まではUltimate Edition、2012以降はProfessional Editionで利用可。
- 参考
- .NET Framework、Native (C と C++)、SQL
- JavaScript
-
[オプション]、[テキスト エディター]、[JavaScript]、[IntelliSense]
例えば、JavaScriptの比較に対して "==" ---> "===" などのワーニングを出したりする。
-
C#のコーディング内容をチェックする。(MS_StyleCop.md)
※ 元の StyleCop は開発終了。現行は Roslyn ベースの StyleCop.Analyzers(NuGet)。
Microsoftの
「クラス ライブラリ開発のデザインガイドライン」
に基づいてビルド出力のアセンブリを分析する。(MS_FxCop.md)
※ FxCop(アセンブリ解析)は非推奨。現行は .NET アナライザー(Roslyn ベースのソース解析)が
SDK に同梱され、<EnableNETAnalyzers> で有効化する。
静的ソースコード解析の機能を持つ。
静的コード解析の機能を持つ(Jtestの.NET版)。
Tags: テスト, デバッグ, .NET開発, ツール類, CI
このWikiは「Open棟梁Project」,「OSSコンソーシアム 開発基盤部会」によって運営されています。