dotCover 2018.3ヘルプ

継続的なテスト

継続的なテストは、さまざまな方法でテスト駆動開発(英語)のプラクティスを合理化します。ユニットテストに影響を与える変更を検出し、影響を受けたすべてのプロジェクトを再構築し、新しいテストと古いテストをすべて再実行します。すべてがバックグラウンドで自動的に行われます。影響を受けるプロジェクトのみが再構築されます。新しいテストと旧式のテストのみが再実行されます。

ユニットテストセッションは、ユニットテストセッションウィンドウの連続テストモードに切り替えることができます。

select ct mode

古いテスト

継続的なテストでは、「古いテスト」という概念を使用して、現在未知の実行結果を持つテストを定義します。明らかに、一度も実行されていないテスト、中止されたテスト、または何らかの理由で終了しなかったテストはすべてこのカテゴリに分類されます。

明確な結果(合格または不合格)で終了したテストは関連しています(古いものではありません)が、コードを変更するまでです。変更後も古いテストがないことを確認するには、すべてのテストを再実行するか、変更の影響を受けたテストを再実行する必要があります。

When continuous testing is enabled, dotCover calculates coverage of all unit tests and monitors changes in the covered code to detect whether any tests become outdated after a change. When a test becomes outdated, dotCover adds the question mark to its icon, e.g. icon dirty test , and changes the status indicator as well.

outdated test status bar icon

コードカバレッジを視覚化して、コード内のどのステートメントがユニットテストでカバーされているかを確認したり、コードからカバーテストに移動したりできます。

ツールバーのカバレッジ結果を削除 ThemedIcon JetBrainsDotCoverVsPresentationResourcesSnapshotManagementTrash Screen Gray をクリックすることにより、いつでもテスト実行結果に関する情報をクリアすることができます。

連続テストモード

連続テストモードを選択するには、次の2つの質問に答えます。

  1. How continuous testing will be triggered?
    Or, in other words, when will be tests autostarted? After you explicitly build your solution or after you save it? You can select the preferred trigger in the ReShaper options using the main menu ReSharper | オプション… | dotCover | 継続的なテスト

  2. どのようなテストが自動起動され、どのようにテストされますか?
    自動スタートテストトグルボタンを使用して、ユニットテストセッションウインドウでツールバーの優先する方法を選択することができます。可能なオプションは自明です。
    • [ビルドの自動スタートテスト | セーブ]: すべてのテストを実行 : すべてのテストはカバレッジ分析なしで実行されます。

    • [ビルドの自動スタートテスト | セーブ]: 新しいテストと古いテストを実行する : カバレッジ分析を行わずに、新しいテストと期限切れのテストのみを実行します。これは最もリソースを節約するモードです。

    • [ビルドの自動スタートテスト | セーブ]: 新しいテストと古いテストをカバーする : カバレッジ分析を有効にして、新しいテストと古いテストを実行します。これは最もリソースを消費するが最も信頼性の高いモードです。dotCoverは、カバレッジ情報を常に最新の状態に保ちます。

重要! [ビルドの自動スタートテスト | セーブ]: すべてのテストを実行および[ビルドの自動スタートテスト | セーブ]: 新しいテストと古いテストを実行するは、連続テストのパフォーマンスへの影響を軽減するために特別に作成されました。このモードの1つを選択すると、dotCoverは新しいカバレッジ情報を収集しません。したがって、関連するカバレッジ情報がすでにある場合にのみ、それらを有効にすることは意味があります。テストでカバーするコードを変更すると、ユニットテストカバレッジウィンドウは明示的にいくつかのテストのカバレッジ情報が古くなっていることを伝えます:
outdated coverage info
カバレッジの強調表示では、淡い色を使用して、古いカバレッジ情報に基づいていることを強調表示します。
outdated coverage highlighting
それにもかかわらず、カバレッジ情報が依然として関連していると確信できる場合は、これらのモードを使用し、情報が実際に古くなるまでカバレッジを延期することができます。

連続テストの範囲

単体テストセッションウィンドウ内のどのセッションも連続テストモードに切り替えることができます。したがって、持っている単体テストセッションの数だけ、連続したテストスコープを持つことができます。

実行中の継続的なテスト

As soon as you enable one of the continuous testing modes, dotCover will prompt you to run unit tests. After making sure that all your tests are green, you can close the Unit Test Sessions window and go on working on your project. You will be able to see current test status on the status bar of the main Visual Studio window.

Continuous testing status on Visual Studio toolbar

The status icon will notify you if any tests in any session with the enabled continuous testing scope fail or become outdated after your changes.

最終更新日: 2019年2月14日

関連事項

関連ページ:

コードカバレッジの可視化

ReSharper_ToggleHighlightingカバレッジを視覚化し、結果データをテストするために、dotCoverはVisual Studioエディターで現在のスナップショット内のステートメントを強調表示できます。エディターでコードカバレッジを視覚化するには分析したいスナップショットをカバ...

カバリングテストへの移動

ReSharper_ShowTestsCoveringEditorContextdotCoverは、コード内の特定のステートメントを対象とする単体テストを検出するためのショートカットを提供します。Visual Studioエディターでは、カバリングテストをリストし、これらのテストのいずれかに直接ナビ...

テストの実行と結果の分析

dotCoverの単体テストランナーでは、同じIDで複数のテストを実行することはできません。これは実際にはほとんど発生しませんが、同じIDのテストがある場合、それらはUnit TestsエクスプローラーおよびUnit Test Sessionsウィンドウに単一のノードとして表示され、それらのうち1つ...

アプリケーションのカバレッジ分析

ソリューションに単体テストがあるかどうかに関係なく、dotCoverを使用すると、実行したアプリケーションのコードカバレッジを分析できます。dotCoverの制御下でアプリケーションを実行し、それを特定のシナリオで実行すると、実行のステートメントカバレッジを含むカバレッジスナップショットが得られます...

継続的なテストを使用する

継続的テストの概念は、コードを変更するとすぐに実際のテスト結果がすぐに得られることを意味します。したがって、プロジェクトを手動で再構築して変更を加えた後、すべてのテストを再実行する必要はありません。影響を受けるテストは自動的にバックグラウンドで実行されます(テストセッションは、変更の保存やプロジェク...