テストとテストされたコード間を移動する
ReSharper は、ユニットテストとテスト対象コード間のナビゲーションをサポートします。 キャレットがクラス名またはその宣言内にある場合、 Control+T F を押すと関連するテストに移動できます。また、テストでこのショートカットを押すとテスト対象クラスにジャンプします。
このナビゲーションは 次に移動 Control+Shift+G メニューでも利用できます。ユニットテストからナビゲーションする場合は テスト対象 を、テスト対象クラスからナビゲーションする場合は 関連するテスト を選択してください。
ユニットテストへのナビゲーションや逆方向のナビゲーションのために、ReSharper はテストクラスと対応するテスト対象クラスのリンクを確立します。 テストとテスト対象クラスをリンクする方法はいくつかあり、すべてデフォルトで利用されています。これらは ページの ReSharper オプション Alt+R、O で設定できます:
接辞検索を使用する | ReSharper は、名前が指定した接頭辞または接尾辞で始まる・終わるテストクラスを、テスト対象コード内の対応するクラスにリンクします。 テストクラス名を無視し、ナビゲーションに他のヒューリスティックを使用するには、このチェックボックスをオフにします。 |
属性ベースの検索を使用する | ReSharper は、特定の属性でアノテートされたテストクラスをテスト対象コードの対応クラスにリンクします。 ReSharper は常に [TestSubject] 属性(JetBrains.Annotations のもの)を考慮します。 例: テストに別の属性のアノテーションを付けてテスト対象のクラスにリンクする場合は、 属性を無視し、ナビゲーションに他のヒューリスティックを使用するには、このチェックボックスをオフにします。 |
汎用引数検索を使用する | ReSharper は、基本テストクラスにテスト対象クラスを表すジェネリックパラメーターがあり、そのジェネリックパラメーターに特定の属性のアノテーションが付加されている場合、テストクラスをテスト対象クラスにリンクします。 次の例を検討してください。
[TestFixture]
public abstract class TestsFor<[MeansTestSubject] T>
{
private AutoMock myMock;
public T Component => myMock.Create<T>();
}
public class TestsForSampleClass : TestsFor<SampleClass>
{
[Test]
public void TestSample()
{
Component.DoSomething();
}
}
この例では、汎用パラメーター 一般的な引数を無視し、ナビゲーションに他のヒューリスティックを使用するには、このチェックボックスをオフにします。 |
この機能は、次の言語とテクノロジーで サポートされています。
ここで説明する手順と例では、C# の機能の使用について説明します。 他の言語の詳細については、 言語およびフレームワーク セクションの対応するトピックを参照してください。