VisualStudio UnitTest FrameWork

  1. 当创建单元测试时,Microsoft.VisualStudio.TestTools.UnitTesting的名字控件会添加到测试项目中,该名字控件中包含很多有用的类:
    • 断言类:在单元测试中验证条件
    • 初始化 和 清理特性: 用于在单元测试运行之前和之后运行代码,以确保特定的开始和结束状
    • ExpectedException特性:用于验证在单元测试执行期间是否引发特定类型的异常
    • TestContext类:用于存储向单元测试提供的信息以及为ASP.NET Web服务运行单元测试所需的信息,系统会为每个测试类创建一个名为testContextInstance的变量
    • TestClassAttribute:当创建单元测试时,TestClassAttribute包含在测试文件中,以指示此特定类可以包含用[TestMethod()]特性标记的方法
    • ExpectedExceptionAttribute:预期的异常类型
  2. 附加测试特性,如下attribute只能标记静态方法,且在测试类中只能有一个
    • [ClassInitialize()]:使用ClassInitialize可在运行类的第一个测试前运行代码
    • [ClassCleanUp()]:使用ClassCleanup可以在运行完类中的所有测试后运行代码
    • [TestInitialize()]:使用TestInitialize可以在运行每个测试前运行代码
    • [TestCleanUp()]:使用TestCleanUp可在运行完每个测试后运行代码
  3. Test solution中文件的作用
    • Local.testsettings:这些设置控制如何运行不收集诊断数据的本地测试。
    • Bank.vsmdi:此文件包含有关解决方案中存在的测试列表的信息,并填充“测试列表编辑器”窗口。
    • TraceAndTestImpact.testsettings:这些设置控制如何运行收集特定诊断数据集的本地测试。
  4. 如何配置查看测试覆盖率

双击Local.testsettings,按照下图配置,然后对Test工程点击Started without debugging运行,不能用F5直接运行

clipboard

原文地址:https://www.cnblogs.com/phenixyu/p/3965201.html