テストとテストされたコード間を移動する
JetBrains Rider はユニットテストとテスト対象コード間のナビゲーションをサポートします。 キャレットがクラス名またはその宣言内のどこかにある場合、 Ctrl+T, G を押すと関連するテストに移動できます。逆にテスト上でこのショートカットを押すと、テスト対象のクラスにジャンプします。
このナビゲーションは 次に移動する Ctrl+Shift+G メニューからも利用できます。ユニットテストからナビゲートする場合は テスト対象 を、テスト対象クラスからナビゲートする場合は 関連するテスト を選択してください。
ユニットテストとの相互ナビゲーションのため、JetBrains Rider はテストクラスと対応するテスト対象クラス間のリンクを作成します。 テストとテスト対象クラスのリンク方法はいくつかあり、すべてがデフォルトで使用されます。JetBrains Rider 設定 ページで設定でき、 Ctrl+Alt+S から操作できます:
接辞検索を使用する | JetBrains Rider は、名前が指定した接頭辞または接尾辞で始まるか終わるテストクラスを、テスト対象コードの対応するクラスにリンクします。 テストクラス名を無視し、ナビゲーションに他のヒューリスティックを使用するには、このチェックボックスをオフにします。 |
属性ベースの検索を使用する | JetBrains Rider は、特定の属性でアノテーションされたテストクラスを、テスト対象コード内の対応するクラスにリンクします。 JetBrains Rider は、常に [TestSubject] 属性(JetBrains.Annotations より)を考慮します。 例: テストに別の属性のアノテーションを付けてテスト対象のクラスにリンクする場合は、 属性を無視し、ナビゲーションに他のヒューリスティックを使用するには、このチェックボックスをオフにします。 |
汎用引数検索を使用する | JetBrains Rider は、基本テストクラスにテスト対象クラスを表すジェネリックパラメーターがあり、このジェネリックパラメーターに特定の属性がアノテーションされている場合、テストクラスをテスト対象クラスにリンクします。 次の例を考えてみましょう。
[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();
}
}
この例では、汎用パラメーター 一般的な引数を無視し、ナビゲーションに他のヒューリスティックを使用するには、このチェックボックスをオフにします。 |