【c#】快捷鍵&單元測試

【快捷鍵】

  • 註釋: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#單元測試】

  1. 右擊你的解決方案,選擇添加>新建>工程。點擊Visual C++分類,選擇測試子類。選擇本地單元測試工程,給工程起個名字,然後點擊確定。New Project Wizard for Testing
  2. Visual Studio將創建一個新的包含單元測試的工程,包含所有對本地測試框架的依賴項也已經創建起來。下一步要做的是爲任何一個要測試的工程添加參考。右擊單元測試工程,選擇添加>參考…。Right-click Add > Reference
  3. 從你的測試工程中勾上任何你想要測試的的工程,然後點擊OK.Add > Reference

你的單元測試工程現在可以訪問你要測試的工程了。你現在可以編寫測試代碼了,只要你爲你想訪問的頭文件添加#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:測試指定的對象是否爲非空

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章