基于MSTest框架创建一个简单的C#单元测试(Visual Studio 2019版)

这篇具有很好参考价值的文章主要介绍了基于MSTest框架创建一个简单的C#单元测试(Visual Studio 2019版)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

基于MSTest框架创建一个简单的C#单元测试(Visual Studio 2019版)

目录

1、环境准备

2、创建一个被测试项目

3、创建单元测试项目

4、执行测试

5、说明

 


1、环境准备

环境:

IDE:Visual Studio 2019

单元测试框架:MSTest

.NET版本:.NET Core 3.1

Test.Sdk版本:Microsoft.NET.Test.Sdk 16.9.4

目的:

编写单元测试方法以验证 BankAccount 类的 Debit 方法,至少需要检查三种行为:

1)如果借方金额有效(借方金额小于余额且大于零),会从帐户余额中减去借方金额。

2)如果借方金额小于零,该方法会引发 ArgumentOutOfRangeException

3)如果借方金额大于余额,该方法将引发 ArgumentOutOfRangeException

完整代码下载:GitHub - weibo01/MSTest: 基于MSTest框架创建C#单元测试

2、创建一个被测试项目

(1)打开 Visual Studio,选择“创建新项目”

基于MSTest框架创建一个简单的C#单元测试(Visual Studio 2019版)

(2)选择 C#“控制台”项目模板

基于MSTest框架创建一个简单的C#单元测试(Visual Studio 2019版)

(3)项目命名为“Bank”

基于MSTest框架创建一个简单的C#单元测试(Visual Studio 2019版)

(4)选择目标框架,然后选择“创建”

基于MSTest框架创建一个简单的C#单元测试(Visual Studio 2019版)

基于MSTest框架创建一个简单的C#单元测试(Visual Studio 2019版)

(5)添加业务代码

Program.cs 文件重命名为 BankAccount.cs,具体代码见附件。

基于MSTest框架创建一个简单的C#单元测试(Visual Studio 2019版)

3、创建单元测试项目

(1)新建项目

文件菜单上,选择添加” > “新建项目,在 "搜索" 框中键入 test ,选择 c # 作为语言,然后选择 "c # MSTest 测试项目"模板,然后单击"下一步"

基于MSTest框架创建一个简单的C#单元测试(Visual Studio 2019版)

(2)添加项目引用

将单元测试项目命名为“BankTests”,然后单击下一步,选择目标框架然后选择创建

基于MSTest框架创建一个简单的C#单元测试(Visual Studio 2019版)

“BankTests” 项目中,添加对“Bank” 项目的引用。(选择banktests" "项目,右键选择“添加”->“项目引用”,在引用管理器对话框中,展开项目,选择解决方案,然后选中“Bank” 。)

基于MSTest框架创建一个简单的C#单元测试(Visual Studio 2019版)

基于MSTest框架创建一个简单的C#单元测试(Visual Studio 2019版)

基于MSTest框架创建一个简单的C#单元测试(Visual Studio 2019版)

(3)添加单测代码

BankTests 项目中选择 UnitTest1.cs 文件,添加相应测试代码(见附件),并将UnitTest1.cs 文件重命名为BankAccountTests.cs

基于MSTest框架创建一个简单的C#单元测试(Visual Studio 2019版)

向测试类中添加 using 语句,供测试项目调用,而无需使用完全限定名。 在类文件顶部添加:using BankAccountNS;

基于MSTest框架创建一个简单的C#单元测试(Visual Studio 2019版)

到此,被测项目和测试项目代码已编写完成,整体代码结构如下图:

基于MSTest框架创建一个简单的C#单元测试(Visual Studio 2019版)

4、执行测试

运行测试:测试-》运行所有测试

基于MSTest框架创建一个简单的C#单元测试(Visual Studio 2019版)

基于MSTest框架创建一个简单的C#单元测试(Visual Studio 2019版)

单元测试已发现一个 bug:取款金额本应从帐户余额中减去 ,结果却添加到帐户余额中。

基于MSTest框架创建一个简单的C#单元测试(Visual Studio 2019版)

修改Bug后再次执行测试:

基于MSTest框架创建一个简单的C#单元测试(Visual Studio 2019版)

基于MSTest框架创建一个简单的C#单元测试(Visual Studio 2019版)

5、说明

(1)测试方法[TestMethod]

测试方法[TestMethod]必须满足以下要求:

(1)使用 [TestMethod] 特性进行修饰

(2)它将返回 void

(3)它不能含有参数

(2)测试类[TestClass]

测试类[TestClass] 最低要求:

(1)任何包含要在“测试资源管理器”中运行的单元测试方法的类都需要有 [TestClass] 特性。

(2)“测试资源管理器”识别的每个测试方法都必须具有 [TestMethod] 属性。

(3)单元测试项目中可以具有不含 [TestClass] 特性的其他类,测试类中可以具有不含 [TestMethod] 特性的其他方法。文章来源地址https://www.toymoban.com/news/detail-426069.html

到了这里,关于基于MSTest框架创建一个简单的C#单元测试(Visual Studio 2019版)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • linux环境编程(1): 实现一个单元测试框架-2

    在之前的文章中, 介绍了如何实现一个类似gtest的单元测试框架, 完整的项目代码可以参考这里: https://github.com/kfggww/cutest . 近期对cutest的实现做了一些修改, 包括: Test Suite的声明宏, 修改为TEST_SUITE 增加Test Suite的声明宏TEST_SUITE_WITH. 可传递Suite的init和cleanup函数, 在Suite中每个Cas

    2024年02月12日
    浏览(23)
  • Java开发手册之单元测试,软件测试端简单易用的SPI框架

    【推荐】编写单元测试代码遵守 BCDE 原则,以保证被测试模块的交付质量。 B:Border,边界值测试,包括循环边界、特殊取值、特殊时间点、数据顺序等。 C:Correct,正确的输入,并得到预期的结果。 D:Design,与设计文档相结合,来编写单元测试。 E:Error,强制错误信息输

    2024年04月25日
    浏览(31)
  • 如何使用PHPUnit编写一个PHP单元测试-简单的代码示例

    在软件开发过程中,单元测试是一种重要的测试方法,可以确保代码的质量和可靠性。在PHP开发中,也可以通过编写单元测试来验证代码的正确性。下面将介绍一些编写PHP单元测试的基本步骤和常用工具。 首先,你需要一个PHP单元测试框架,比如PHPUnit。PHPUnit是PHP社区最流行

    2024年02月04日
    浏览(41)
  • 创建一个简单的区块链,并使用 Flask 框架提供一个简单的 Web 接口来与区块链交互。

    目录 前言 一、代码展示 二、代码注释 1.简单的区块链模拟实现,这段代码定义了一个简单的区块链类,可以创建一个新的区块链,并能够添加新的区块到链上,同时获取最新的区块信息。这个模拟的区块链可以用于教学或演示区块链的基本概念。 2.这段代码是一个简单的工

    2024年04月14日
    浏览(36)
  • Visual Studio 2019 C# 上位机入门(1):如何创建工程编写一个简单应用

    Visual Studio 2019下载安装步骤可以看:https://blog.csdn.net/weixin_44788542/article/details/114271126 这里不赘述,默认电脑上已经安装好了。 1、打开安装好的Visual Studio后,选择创建新项目。 2、找到选择C#下面的Windows 窗体应用,然后下一步起名和文件存放位置 如果找不到Windows 窗体应用,

    2024年02月05日
    浏览(35)
  • ​基于多种语言,使用Selenium实现自动化的常用单元测试框架

    Selenium是自动化网络应用程序的首选工具。Selenium支持基于Java、C#、PHP、Ruby、Perl、JavaScript和Python等多种编程语言的各种单元测试框架。这些框架用于在 Windows、MacOS 和 Linux 等不同平台的网络应用程序上执行测试脚本。任何成功的自动化流程都有赖于强大的测试框架,这些框架

    2024年01月21日
    浏览(39)
  • .Net初学 创建一个巨简单的.Net7 WebApi后端框架

    visual studio 2022 以下简称vs    Visual Studio安装指南_visual studio安装教程_技术人小柒的博客-CSDN博客 sqlserver 2022 以下简称mssql        SQL Server2022 Express和SSMS下载安装教程(超详细) (baidu.com) redis Redis下载安装图文教程(Windows版_超详细)_windows redis下载_Leeway啊樺的博客-CSDN博客

    2024年02月21日
    浏览(27)
  • 一个简单的接口自动化测试框架:Python+Requests+Pytest+Allure

    project:api_test ——api_keyword ————api_key.py:接口驱动类 ——case ————test_cases.py:测试套件和测试用例 ——report_allure( 无需创建 ):allure报告 ——result( 无需创建 ):测试用例运行结果 ——VAR ————VAR.py:常量类 conftest.py:项目级别fixture main.py:主函数

    2024年02月03日
    浏览(38)
  • java基础 - 实现一个简单的Http接口功能自动化测试框架(HttpClient + TestNG)

    已知现在已经用Spring boot框架搭建了一个简单的web服务,并且有现成的Controller来处理http请求,以之前搭建的图书管理服务为例,BookController的源码如下: 在搭建一个Http接口功能自动化测试框架之前,我们需要思考几个问题: 1、http请求的发送,使用什么实现? 2、接口返回的

    2024年02月05日
    浏览(37)
  • 简介:在这篇教程中,我们将使用React.js框架创建一个简单的聊天机器人的前端界面,并利用Dialogflo

    作者:禅与计算机程序设计艺术 介绍及动机 聊天机器人(Chatbot)一直是互联网领域中的热门话题。而很多聊天机器人的功能都依赖于人工智能(AI)技术。越来越多的企业希望拥有自己的聊天机器人系统,从而提升自己的竞争力。为此,业界也出现了很多基于开源技术或云

    2024年02月06日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包