0


C# MSTest 进行单元测试

MSTest 是 Microsoft 提供的一个单元测试框架,通常用于 .NET 应用程序的测试。下面是一个详细的示例,展示如何使用 MSTest 进行单元测试。

场景示例:计算器类的单元测试

假设我们有一个简单的计算器类

  1. Calculator

,它提供了加法和减法功能。我们将为这个类编写单元测试。

1. 创建计算器类

首先,我们创建一个简单的计算器类

  1. Calculator

  1. public class Calculator
  2. {
  3. public int Add(int a, int b)
  4. {
  5. return a + b;
  6. }
  7. public int Subtract(int a, int b)
  8. {
  9. return a - b;
  10. }
  11. }
2. 创建 MSTest 项目

接下来,我们需要创建一个 MSTest 项目来编写测试。可以通过 Visual Studio 创建一个新的测试项目:

  1. 在 Visual Studio 中,选择“文件” -> “新建” -> “项目”。
  2. 选择“测试”类别下的“单元测试项目”。
  3. 命名项目,例如 CalculatorTests
3. 添加对 MSTest 的引用

确保你的测试项目中引用了

  1. MSTest.TestFramework

  1. MSTest.TestAdapter

。可以通过 NuGet 包管理器安装:

  1. Install-Package MSTest.TestFramework
  2. Install-Package MSTest.TestAdapter
4. 编写测试类

在测试项目中,创建一个测试类

  1. CalculatorTests

,并编写测试方法来测试

  1. Calculator

类的功能。

  1. using Microsoft.VisualStudio.TestTools.UnitTesting;
  2. namespace CalculatorTests
  3. {
  4. [TestClass]
  5. public class CalculatorTests
  6. {
  7. private Calculator _calculator;
  8. [TestInitialize]
  9. public void Setup()
  10. {
  11. _calculator = new Calculator();
  12. }
  13. [TestMethod]
  14. public void Add_ShouldReturnSum_WhenTwoIntegersAreProvided()
  15. {
  16. // Arrange
  17. int a = 5;
  18. int b = 3;
  19. // Act
  20. int result = _calculator.Add(a, b);
  21. // Assert
  22. Assert.AreEqual(8, result);
  23. }
  24. [TestMethod]
  25. public void Subtract_ShouldReturnDifference_WhenTwoIntegersAreProvided()
  26. {
  27. // Arrange
  28. int a = 5;
  29. int b = 3;
  30. // Act
  31. int result = _calculator.Subtract(a, b);
  32. // Assert
  33. Assert.AreEqual(2, result);
  34. }
  35. }
  36. }
5. 解释代码
  • [TestClass]: 这个特性标记了一个类是测试类。
  • [TestInitialize]: 这个特性标记的方法在每个测试方法之前运行,通常用于设置测试所需的对象。
  • [TestMethod]: 这个特性标记的方法是一个测试方法。
  • Assert.AreEqual: 这个方法用于验证实际结果与预期结果是否相等。
6. 运行测试

在 Visual Studio 中,可以通过“测试”菜单选择“运行所有测试”来运行测试。测试结果将在“测试资源管理器”窗口中显示。

标签: 单元测试

本文转载自: https://blog.csdn.net/wangyue4/article/details/142672926
版权归原作者 大黄鸭在发光 所有, 如有侵权,请联系我们删除。

“C# MSTest 进行单元测试”的评论:

还没有评论