有ip怎么用自己的主机做网站,惠州网站制作维护,烟台制作网站的公司,开发公司土地使用税什么时候开始交你好啊#xff01;我是程序员山茶#xff0c;你也可以称我为测试开发Guide。本文首发“unittest” 每个语言都包含有自己的测试框架#xff0c;python中同样有很多测试框架#xff0c;具体如下 unittest#xff1a; unittest是Python自带的单元测试框架#xff0c;它提供… 你好啊我是程序员山茶你也可以称我为测试开发Guide。本文首发“unittest” 每个语言都包含有自己的测试框架python中同样有很多测试框架具体如下 unittest unittest是Python自带的单元测试框架它提供了类和方法来编写和组织测试用例以及各种断言方法用于验证结果 pytest 是一个第三方的Python测试框架它具有简洁的语法和丰富的功能集。支持自动发现测试文件和函数提供了强大的断言方法以及插件生态系统可以扩展测试功能 nose是另一个流行的第三方测试框架它建立在unittest之上提供了更简洁的语法和额外的功能如自动发现测试、测试生成器、测试覆盖率报告等 doctest doctest是Python标准库中的一个模块它允许在文档字符串中编写测试用例。doctest将文档中的示例代码提取出来并自动运行并验证结果以确保示例代码的正确性 Testify 一个相对较新的Python单元测试框架它提供了一套简洁而强大的工具和断言方法用于编写单元测试和集成测试 behavebehave是一个行为驱动开发BDD框架它使用自然语言来描述系统行为并将这些描述转化为可执行的测试用例 本文主要介绍unittest框架。
unittest框架是一个功能强大的单元测试工具不仅适用于单元测试还可用于web自动化测试。它提供了丰富的断言方法可组织和执行测试用例并生成测试结果 unittest基础概念 TestCase测试用例一个TestCase就是一条测试用例 TestSuite测试套件多条TestCase测试用例集合。TestSuite可以嵌套TestSuite即测试用例集合数据可以是测试用例集合 TestRunner执行测试执行测试用例套件 TestFixture对一个测试环境的搭建和销毁被称为一个Fixture比如数据库连接关闭、测试环境数据清理、启动关闭服务进程 TestLoader是unittest框架中的一个类用于将TestCase加载到TestSuite中。它提供了几个loadTestsFrom__()方法这些方法用于从不同的源中寻找TestCase并创建它们的实例。它们会将这些TestCase实例添加到TestSuite中并返回一个包含TestCase的TestSuite实例
unittest使用原则
使用原则 测试模块引入 import unittest 测试类必须继承 unittest.TestCase 测试方法必须以“test开头”执行顺序按照开头字符串ASCII码升序执行。
测试类和测试方法 断言方法
以下断言方法是unittest框架中的一部分用于在测试过程中进行验证和断言 序号 方法 校验内容 1 assertEqual(a, b) 断言a等于b 2 assertNotEqual(a, b) 断言a不等于b 3 assertTrue(x) 断言x为True 4 assertFalse(x) 断言x为False 5 assertls(a, b) 断言a和b是同一个对象 6 assertlsNot(a, b) 断言a和b不是同一个对象 7 assertlsNone(x) 断言x为None 8 assertlsNotNone(x) 断言x不为None 9 assertln(a, b) 断言a包含在b中 10 assertNotln(a, b) 断言a不包含在b中 11 assertlslnstance(a, b) 断言a是b的实例 12 assertNotlsInstance(a, b) 断言a不是b的实例
执行测试 执行测试全局执行测试使用 unittest.main()方法 一个简单的unittest示例
如下测试用例用到了上文中的使用原则继承了unittest.TestCase同时测试方法以test开头且增加了测试类setUpClass、tearDownClass及测试方法setUp、tearDown
# 引入unittest模块
import unittest# 创建测试类继承unittest.TestCase
class TestApi(unittest.TestCase):# 测试方法每执行一次test的测试方法就会执行一次def setUp(self) - None:print(setUp方法)def tearDown(self) - None:print(tearDown方法)# 测试类以classmethod修饰测试类且在过程中仅执行一次# 如果遇到问题请联系我添v加xtest_shancha01 私信公众号程序员山茶classmethoddef setUpClass(cls) - None:print(setUpClass每个类执行一次)classmethoddef tearDownClass(cls) - None:print(tearDownClass每个类执行一次)def test_01(self):a 1b 2c a b# 断言 判断c和3是否相同self.assertEqual(c, 3)def test_02(self):a 2b 3c a * b#断言 判断c和6是否相同self.assertEqual(c, 6)if __name__ __main__:# 执行所有的以test为开头的测试用例unittest.main()
作者简介:
程序员山茶一个工作5年并坚持探索测试之路的测试开发工程师。曾混迹于互联网大厂、IOTA行业领航企业、安全行业、大数据行业领航企业欢迎和我一起沟通交流。 欢迎关注我, 和我一起探索测试之路终身成长