resharper可以跳转到包含单元测试的文件吗?
是否有可能以某种方式链接或使用某些约定,以便我可以在给定类的单元测试之间跳转?resharper可以跳转到包含单元测试的文件吗?
此外,创建快捷方式之间的界面之间跳转,实现?
(键盘快捷键)
例子:
IUserService UserService UserServiceTests
这将是巨大的,如果我能以某种方式连接这些结合在一起,所以我可以在任何跳转到的任何文件其中一个目前。
是否有可能以某种方式连接或使用一些约定,所以我可以在我的单元测试之间跳转给定类?
为单元测试之间跳转给定类,推出ReSharper的查找用法的类名,只要你有导致查找结果工具窗口,他们组的方式这有助于专注于代码库特定部分的用法 - 例如,按项目和类型。这会让您在测试项目中检测到使用情况。从那里,你可以快速从跳到查找结果到代码中的实际用法。作为替代方案,您可以使用ReSharper的转至使用符号,它以类似的方式工作,但在弹出式菜单中显示搜索结果,而不是将其刷新到查找结果。
如果您的测试类包含元数据以显示它们覆盖的业务逻辑,这将有助于更好地区分所需的用途。例如,如果您使用的是MSpec,则测试类将标记为主题属性:[Subject(typeof (MyCoveredClass))]
这很方便,因为该属性内的用法非常明显,导航到它们会直接导致您的测试类的声明:
使用NUnit和MSTest,这有点复杂,因为它们的属性以字符串作为参数,如下所示:[TestProperty("TestKind", "MyCoveredClass")]
。为了找到MyCoveredClass
的这种用法,您必须使用ReSharper的查找用法高级并打开文本出现选项。
另外,为界面之间跳转创建快捷方式,实现?
作为继承链内跳跃,ReSharper的提供多个选项要做到这一点,包括类型层次(ReSharper的>检查>类型分层结构)和转到执行(ReSharper的>导航>转至实施):
我不认为这将是可能的只是resharper。就resharper而言,你的单元测试只是UserService的另一个用法。另外,所有不同的单元测试框架都会指定不同的东西,因此很难知道。比如,做bdd会产生几乎完全与正在测试的类无关的测试类名称。
你可能可以写一个扩展来做到这一点,也许使用属性或东西?不确定。
ReSharper的不具有特定的测试后藤/代码功能不是通过用途的滚动列表等。
但是,TestDriven.NET has this feature它使用命名约定来查找测试/代码对等,以便您可以来回翻转。
另外,为界面之间的跳转创建快捷方式, 的实现?
ReSharper具有此功能。使用Visual Studio的方案:
- Alt +首页导航到类的基础,如果有一个以上的上下文菜单会列出他们
- Alt + End向下导航继承层次结构和行为像Alt键+主页
Ctrl + U和Ctrl + Alt + B分别是ReSharper 2.x/IDEA方案的等价物。
如前所述,您可以使用TestCop ReSharper插件(gallery link)执行此操作。
它通过使用正则表达式来识别类名和命名空间,将测试中的类绑定到测试夹具。您可以自定义这些以适应您的需求,但是我发现在现有代码中有相当数量的试验和错误来实现这一点。
完成所有设置后,您可以使用键盘快捷键来回移动。它也可以为你创建TestFixture或类。
随着ReSharper的和NUnit,从测试跳转到主题,你可以使用TestFixture
属性的TestOf
财产。只需按Ctrl +测试文件点击MyClass
:
[TestFixture(TestOf = typeof(MyClass))]
public class MyClassTest
从主题跳到测试,使用ReSharper的查找使用命令。
我明白了,我不知道你可以扩展resharper。 – codecompleting