由於 Unit test 需要頻繁地建立對應 method,那這邊藉由建立 code snippet 來減少過程的時間花費並提供一致的風格給其他成員使用。
推薦工具 : Snippet Designer
Snipppet Designer 目前我有使用的相關功能
Create Snippet :
- File > New File
- 編輯 Code Snippet 範本
- 其中 Shortcut 使我們可以快速呼叫的別稱
- 效果
- 而 $end$ 屬於保留字,當觸發 Code Snippet 並點擊 Enter 時,光標會跳到對應的位置
透過上面的方式我們可以就可以建立專屬的 Code Snippet
Search Snippet : View > Other Window > Snippet Explorer
- 可以查詢對應得 Code Snippet
最後透過 VS Code Snippets Manager 把 Snippet 腳本匯入即可使用。
PS : 如果不使用工具,就透過 xml 拿取對應的範本進行編輯即可,範例如下 :
<?xml version="1.0" encoding="utf-8"?>
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
<CodeSnippet Format="1.0.0">
<Header>
<SnippetTypes>
<SnippetType>Expansion</SnippetType>
</SnippetTypes>
<Title>Test Method Template</Title>
<Shortcut>mytestm</Shortcut>
<Description>Code snippet for a test method with 3A</Description>
<Author>anomo06822</Author>
</Header>
<Snippet>
<Imports>
<Import>
<Namespace>Microsoft.VisualStudio.TestTools.UnitTesting</Namespace>
</Import>
</Imports>
<Declarations>
<Literal Editable="false">
<ID>TestMethod</ID>
<ToolTip>TestMethod</ToolTip>
<Default>TestMethod</Default>
<Function>SimpleTypeName(global::Microsoft.VisualStudio.TestTools.UnitTesting.TestMethod)</Function>
</Literal>
<Literal Editable="true">
<ID>UnitOfWork</ID>
<ToolTip>UnitOfWork</ToolTip>
<Default>UnitOfWork</Default>
<Function>
</Function>
</Literal>
<Literal Editable="true">
<ID>Scenario</ID>
<ToolTip>Scenario</ToolTip>
<Default>Scenario</Default>
<Function>
</Function>
</Literal>
<Literal Editable="true">
<ID>ExpectedBehavior</ID>
<ToolTip>ExpectedBehavior</ToolTip>
<Default>ExpectedBehavior</Default>
<Function>
</Function>
</Literal>
</Declarations>
<Code Language="csharp" Delimiter="$"><![CDATA[[$TestMethod$]
public void $UnitOfWork$_$Scenario$_$ExpectedBehavior$()
{
////arrange
$end$
////act
////assert
}]]></Code>
</Snippet>
</CodeSnippet>
</CodeSnippets>
如果有任何錯誤或者引用問題請麻煩告知 !!!