ReSharper 2025.3 Help

在测试和被测试代码之间导航

ReSharper 帮助您在单元测试和被测试代码之间导航。 当您的光标位于类名或其声明中的任意位置时,您可以按 Control+T F 导航到相关测试,反之亦然,通过在测试上按此快捷键,您将跳转到被测试的类。

此导航也可通过 导航到 Control+Shift+G 菜单使用:如果从单元测试导航,请选择 测试主体 ;如果从被测试类导航,请选择 相关测试

为了在单元测试和被测试代码之间导航,ReSharper 在测试类和相应的被测试类之间建立链接。 有多种方式可以链接测试与被测类:默认情况下会使用所有方式,您可以在 ReSharper 选项 的 工具 | 单元测试 | 测试链接器 页面中进行配置 Alt+R, O

使用词缀搜索

ReSharper 将名称以指定前缀或后缀开头或结尾的测试类链接到被测试代码中的相应类。 清除此复选框以忽略测试类名称,并使用其他启发式方法进行导航。

使用基于特性的搜索

ReSharper 将带有特定属性注解的测试类链接到被测试代码中的相应类。

ReSharper 始终会考虑 [TestSubject] 属性,该属性来自 JetBrains.Annotations。 例如,如果您从名为 SampleClass 的类导航,带有 [TestSubject(typeof(SampleClass))] 注解的测试将被建议作为导航目标。

如果您使用其他属性注解测试以将其链接到被测试类,请指定此属性的完全限定名称,以便将其纳入考虑范围,此外还包括 [TestSubject]。 请注意,每个解决方案只能指定一个属性。

清除此复选框以忽略属性,并使用其他启发式方法进行导航。

使用泛型实参搜索

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(); } }

在此示例中,泛型参数 T 带有 [MeansTestSubject] 属性注解,该属性来自 JetBrains.Annotations。 在此类场景中,此属性始终会被考虑。 如果您为此目的使用其他属性,请指定其完全限定名称,以便将其纳入考虑范围,此外还包括 [MeansTestSubject]。 请注意,每个解决方案只能指定一个属性。

清除此复选框以忽略泛型参数,并使用其他启发式方法进行导航。

此功能在以下语言和技术中是 支持的

语言:C#

语言:VB.NET

语言:C++

语言:ASP.NET

语言:Razor

语言:XAML

语言:Resx

语言:构建脚本

语言:SQL

功能在 C# 中可用

此功能适用于 Visual Basic

功能在 C++ 中不可用

功能在 ASP.NET 中不可用

功能在 Razor 中不可用

功能在 XAML 中不可用

此功能不适用于资源文件

此功能不适用于构建脚本文件

功能在 SQL/NoSQL 文件和注入中不可用

此处提供的说明和示例介绍了在 C# 中使用该功能。 有关其他语言的更多信息,请参阅 语言和框架 部分中的相关主题。

最后修改日期: 2025年 12月 8日