【快捷鍵】
- 註釋:Ctrl+K, Ctrl+C
- 反註釋:Ctrl+K, Ctrl+U
- Ctrl+E+D 來使代碼對齊。
- Ctrl+L刪除整行
- Ctrl+J,彈出智能代碼提示。
- Ctrl+E+S,顯示每行代碼前面的空格,即“編輯”——“高級”——“查看空白”。
- Alt+Shift+Enter,編輯區視圖最大化和還原之間切換。
- Shift + Home(End),選中從光標起到行首(尾)間的代碼。
- Ctrl+"-"\Ctrl+Shift+"-",查看上次閱讀處\反上次查看處,“-”是功能區的減號鍵不是數字區的。
- F7 /Shift-F7:顯示代碼窗口或顯示設計器窗口
- Alt-Enter:顯示選中對象的屬性(這是個常用的windows快捷鍵,可以用顯示目錄和文件的屬性)
- Ctrl-M + Ctrl+M:展開或摺疊代碼段(切換大綱顯示)
- Ctrl+K+F :格式化整個塊
- Ctrl+Shift+7(8):在方法定義和調用之點切換
- Ctrl+K, D :格式化整篇代碼
【創建c#單元測試】
- 右擊你的解決方案,選擇添加>新建>工程。點擊Visual C++分類,選擇測試子類。選擇本地單元測試工程,給工程起個名字,然後點擊確定。
- Visual Studio將創建一個新的包含單元測試的工程,包含所有對本地測試框架的依賴項也已經創建起來。下一步要做的是爲任何一個要測試的工程添加參考。右擊單元測試工程,選擇添加>參考…。
- 從你的測試工程中勾上任何你想要測試的的工程,然後點擊OK.
你的單元測試工程現在可以訪問你要測試的工程了。你現在可以編寫測試代碼了,只要你爲你想訪問的頭文件添加#include聲明就可以了。例如:
要測試的方法在: namespace Microsoft.Samples.Kinect.BodyBasics 中
測試函數需要在: namespace Microsoft.Samples.Kinect.BodyBasics.Tests 中, 如果通過vs創建單元測試,則不需要考慮
注意:這個方式你只是能夠訪問單元測試的公共函數。如果想訪問單元測試私有的函數,你必須在被測試代碼相同的類裏面編寫你的單元測試。如果想要查看控制檯輸出信息,點擊-->打開此結果的其他輸出
【或者在方法上右擊-->創建單元測試】
【Assert類】
(一)、Assert類的使用
1、Assert類所在的命名空間爲Microsoft.VisualStudio.TestTools.UnitTesting 在工程文件中只要引用Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll就可以使用 了。
2、使用Assert類可以對特定功能進行驗證,單元測試方法執行開發代碼中的方法代碼,但只有包含Assert語句時才能報告代碼行爲方面的內容。
3、Assert在測試方法中,可以調用任意數量的Assert類方法,如Assert.AreEqual()方法。Assert類有很多方法可供選擇,其中許多方法具有多個重載。
4、使用CollectionAssert類可比較對象集合,也可以驗證一個或多個集合的狀態。
5、使用StringAssert類可以對字符串進行比較。此類包含各種有用的方法。如:StringAssert.Contains、StringAssert.Matches和StringAssert.StartWith。
6、AssertFailedException只要測試失敗,就會引發AssertFailedException異常。如果測試超時,引發意外的異常,或包含生成了Failed結果的Assert語句,則測試失敗。
7、AssertInconclusiveException只要測試生成的結果是Inconclusive,就會引發 AssertInconclusiveException。通常,向仍在處理的測試添加Assert.Inconclusive來指明該測試尚未準備好, 不能運行。
(二)、Assert類主要的靜態成員
1、 AreEqual:方法被重載了N多次,主要功能是判斷兩個值是否相等;如果兩個值不相等,則測試失敗。
2、 AreNotEqual:方法被重載了N多次,主要功能是判斷兩個值是否不相等;如果兩個值相等,則測試失敗。
3、 AreNotSame:引用的對象是否不相同;如果兩個輸入內容引用相同的對象,則測試失敗.
4、 AreSame:引用的對象是否相同;如果兩個輸入內容引用不相同的對象,則測試失敗
5、 Fail:斷言失敗。
6、 Inconclusive:表示無法證明爲 true 或 false 的測試結果
7、 IsFalse:指定的條件是否爲 false;如果該條件爲 true,則測試失敗。
8、 IsTrue:指定的條件是否爲 true;如果該條件爲 false,則測試失敗
9、 IsInstanceofType:測試指定的對象是否爲所需類型的實例;如果所需的實例不在該對象的繼承層次結構中,則測試失
10、 IsNotInstanceofType: 測試指定的對象是否爲所需類型的實例;如果所需的實例在該對象的繼承層次結構中,則測試失敗
11、 IsNull:測試指定的對象是否爲非空
12、 IsNotNull:測試指定的對象是否爲非空