是否有可能以某種方式鏈接或使用某些約定,以便我可以在給定類的單元測試之間跳轉?resharper可以跳轉到包含單元測試的文件嗎?
此外,創建快捷方式之間的界面之間跳轉,實現?
(鍵盤快捷鍵)
例子:
IUserService UserService UserServiceTests
這將是巨大的,如果我能以某種方式連接這些結合在一起,所以我可以在任何跳轉到的任何文件其中一個目前。
是否有可能以某種方式鏈接或使用某些約定,以便我可以在給定類的單元測試之間跳轉?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的方案:
Ctrl + U和Ctrl + Alt + B分別是ReSharper 2.x/IDEA方案的等價物。
如前所述,您可以使用TestCop ReSharper插件(gallery link)執行此操作。
它通過使用正則表達式來識別類名和命名空間,將測試中的類綁定到測試夾具。您可以自定義這些以適應您的需求,但是我發現在現有代碼中有相當數量的試驗和錯誤來實現這一點。
完成所有設置後,您可以使用鍵盤快捷鍵來回移動。它也可以爲你創建TestFixture或類。
我剛剛在TestLinker中實現了該功能,這是ReSharper 2016.1擴展。它可以從ReSharper Gallery安裝。
隨着ReSharper的和NUnit,從測試跳轉到主題,你可以使用TestFixture
屬性的TestOf
財產。只需按Ctrl +測試文件點擊MyClass
:
[TestFixture(TestOf = typeof(MyClass))]
public class MyClassTest
從主題跳到測試,使用ReSharper的查找使用命令。
我明白了,我不知道你可以擴展resharper。 – codecompleting