unittest篇1-简介

1、unittest简介

官网文档https://docs.python.org/3/library/unittest.html 点此处跳转至官网
1、单元测试框架是受到 JUnit 的启发,与其他语言中的主流单元测试框架有着相似的风格。它支持测试自动化,配置共享和关机代码测试。支持将测试样例聚合到测试集中,并将测试与报告框架独立。
2、熟悉java的应该都清楚常见的单元测试框架Junit和TestNG,对应python中单元测试框架为unittest和pytest,等后面有空,再分享pytest框架。
3、unittest可以用来做单元测试,接口测试、UI测试、也可以完成自动化测试。

2、unittest组成

2.1 test fixture

测试fixture表示执行一个或多个测试以及任何相关的清除操作所需的准备工作。例如,这可能涉及创建临时或代理数据库、目录或启动服务器进程。

2.2 test case

测试用例是单独的测试单元。它检查特定输入集合的特定响应。unittest提供了一个基类TestCase,可以用来创建新的测试用例。

2.3 test suite

测试套件是测试用例、测试套件或两者的集合。它用于聚合应该一起执行的测试。

2.4 test runner

测试运行程序是编排测试执行并向用户提供结果的组件。运行程序可以使用图形界面、文本界面或返回一个特殊值来指示执行测试的结果。

3、unittest原理

在这里插入图片描述
简要分为这几步:

  • 1、编写TestCase,方法必须已test_开头;
  • 2、TestLoader将TestCase加载到TestSuite中;
  • 3、由TextTestRunner来运行测试套件(TestSuite);
  • 4、将运行的结果保存至TextTestResult中;

4、简单使用

可以先使用打印源码看一下

import unittest
print(help(unittest))

在这里插入图片描述
由上面源码看出,其实有一个简单的例子,模拟上面源码,来实操一下:

import unittest
class TestDemoOne(unittest.TestCase): # 必须要继承TestCase父类
    def testMinus(self): # 测试用例以test开头
        result = 100-99
        expect = 1
        # 断言,判断上述测试用例,实际结果result是否与expect相等
        self.assertEqual(result,expect)

if __name__ == '__main__':
    unittest.main()

执行结果
在这里插入图片描述

好了,跟着博主一起学习unittest框架,从入门到进阶之路开冲!
后续有时间会接着分享unittest相关的内容!
谢谢大家,欢迎评论区进行交流

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你可以使用Python的unittest模块来编写和运行单元测试。以下是一个例子: ```python import unittest class MyTestCase(unittest.TestCase): def test_something(self): # 这里是测试逻辑 self.assertEqual(1, 1) if __name__ == '__main__': unittest.main() ``` 在这个例子中,我们定义了一个名为MyTestCase的测试类,并在其中定义了一个名为test_something的测试方法。在测试方法中,我们可以编写需要测试的逻辑,并使用`self.assertEqual`等断言方法来进行断言判断。 然后,在`if __name__ == '__main__':`条件下,我们使用`unittest.main()`来运行测试。 如果你有多个测试类或多个测试方法,你可以使用`unittest.TestSuite()`来创建一个测试套件,并通过`suit.addTest()`或`suit.addTests()`方法将测试类或测试方法添加到套件中。最后,使用`unittest.TextTestRunner().run(suit)`来运行套件中的测试。 以上就是一个简单的unittest的示例。你可以根据自己的需要进行扩展和修改。如果你在使用unittest时遇到问题,可以参考Python的官方文档或在线资源来获取更多帮助。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Unittest加载执行用例的方法总结](https://blog.csdn.net/weixin_33172127/article/details/117007822)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值