使用MS Test进行单元测试

MS Test也可以方便的进行单元测试,可以通过Visual Studio很方便的建立单元测试。

添加对待测试工程的引用,即可方便的开始单元测试。

最基本的一些测试使用如下:

复制代码
using System;
using Microsoft.VisualStudio.TestTools.UnitTesting;

namespace UnitTestProject1
{
    [TestClass]
    public class UnitTest1
    {
        [TestMethod]
        public void TestMethod1()
        {
        }

        [ClassInitialize]
        public static void Init(TestContext context)
        {
            Console.WriteLine("Use ClassCleanup to run code before all tests in a class have run.");
        }

        [TestInitialize]
        public void BeforeTest()
        {
            Console.WriteLine("Use TestCleanup to run code before you run each test.");
        }

        [TestMethod]
        public void TestAMethodOrFunction()
        {
            Assert.AreEqual(3, 3);
        }
        [TestCleanup]
        public void AfterTest()
        {
            Console.WriteLine("Use TestCleanup to run code after you run each test.");
        }

        [ClassCleanup]
        public static void Cleanup()
        {
            Console.WriteLine("Use ClassCleanup to run code after all tests in a class have run.");
        }

        [TestMethod]
        [ExpectedException(typeof(ArgumentException))]
        public void TestExpectedException()
        {
            throw new ArgumentException("Wrong argument!");
        }
    }
}
复制代码

其中的标签的作用和NUnit类似,只是名称稍有不同。不做过多解释。
可以通过Visual Studio 的Test菜单,运行进行有关测试的一些操作,如运行指定测试、运行所有测试、查看覆盖率。。。

 例如,我们针对如下一个单元测试通过Test菜单运行所有测试如下:

 

也可以在Test Explorer中控制测试的运行,如

分析代码覆盖率,等等等等

posted @   DebugLZQ  阅读(3780)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· 字符编码:从基础到乱码解决
· Open-Sora 2.0 重磅开源!
点击右上角即可分享
微信分享提示