【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:测试指定的对象是否为非空

 

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