python unittest单元测试框架-2discover

基于TestLoader提供的discover方法实现用例执行

当用例达达到数十条后,在runtest.py文件中通过addTest()添加/删除测试用例就非常麻烦。此时可以使用discover方法找到目录下所有测试模块,并可以递归查到子目录下的测试模块,只有匹配到文件名才能被加载。如果启动的不是顶层目录,那么顶层目录必须单独指定。
discover(start_dir, pattern="test*.py", top_level_dir=None)
#start_dir:要测试的模块名或测试用例目录
#pattern="test*.py":表示用例文件名的匹配原则。此处匹配以test开头的.py文件
#top_level_dir=None:测试模块的顶层目录,如果没有顶层目录,则默认为None

calculator.py

class Count:
    def __init__(self,a,b):
        self.a = int(a)
        self.b = int(b)
    def add(self):
        return self.a + self.b
    def sub(self):
        return self.a - self.b

testadd.py

from calculator import  Count
import unittest
class TestAdd(unittest.TestCase):
    def setUp(self):
        print("test add start")
    def test_add(self):
        j = Count(2,3)
        self.assertEqual(j.add(),5)
        print("test_add执行完毕")
    def test_add2(self):
        j = Count(54,49)
        self.assertEqual(j.add(),103)
        print("test_add2执行完毕")
    def tearDown(self):
        print("test add end")
if __name__=="__main__":
    unittest.main()

testsub.py

from calculator import Count
import unittest
class TestSub(unittest.TestCase):
    def setUp(self):
        print("test sub start")
    def test_sub(self):
        j = Count(4,1)
        self.assertEqual(j.sub(),3)
        print("test_sub执行完毕")
    def test_sub2(self):
        j = Count(5,9)
        self.assertEqual(j.sub(),-4)
        print("test_sub2执行完毕")
    def tearDown(self):
        print("test sub end")
if __name__=="__main__":
    unittest.main()

runtest.py

import unittest
test_dir="./"
discover=unittest.defaultTestLoader.discover(test_dir,pattern="test[a-z]{3}.py")
if __name__=="__main__":
    runner = unittest.TextTestRunner()
    runner.run(discover)

原文地址:https://www.cnblogs.com/csj2018/p/10023839.html

时间: 2024-07-30 19:15:41

python unittest单元测试框架-2discover的相关文章

Python+Selenium ----unittest单元测试框架

unittest是一个单元测试框架,是Python编程的单元测试框架.有时候,也做叫做"PyUnit",是Junit的Python语言版本.这里了解下,Junit是Java语言的单元测试框架,Java还有一个很好用的单元测试框架叫TestNG,本系列只学习Python,所以只需要unittest是Python里的一个单元测试框架就可以了.       unittest支持测试自动化,共享测试用例中的初始化和关闭退出代码,在unittest中最小单元是test,也就是一个测试用例.要了解

Selenium基于Python web自动化基础二 -- 免登录、等待及unittest单元测试框架

一.免登录在进行测试的过程中难免会遇到登录的情况,给测试工作添加了工作量,本文仅提供一些思路供参考解决方式:手动请求中添加cookies.火狐的profile文件记录信息实现.人工介入.万能验证码.去掉验证码 1.手动在请求中添加cookies信息 1 url = "http://www.baidu.com" 2 driver = webdriver.Firefox() 3 driver.get(url) 4 time.sleep(3) 5 #添加cookies的方式 6 7 c1 =

Python基础入门-unittest单元测试框架

unittest单元测试框架不仅可以适用于单元测试,还可以适用WEB自动化测试用例的开发与执行,该测试框架可组织执行测试用例,并且提供了丰富的断言方法,判断测试用例是否通过,最终生成测试结果.今天笔者就总结下如何使用unittest单元测试框架来进行WEB自动化测试. 目录 一.unittest模块的各个属性说明 二.使用unittest框架编写测试用例思路 三.使用unittest框架编写测试用例实例 一.unittest模块的各个属性说明 先来聊一聊unittest模块的各个属性,所谓知己知

Selenium自动化测试-unittest单元测试框架使用

一.什么是unittest 这里我们将要用的unittest是python的单元测试框架,它的官网是 https://docs.python.org/2/library/unittest.html,在这里我们可以得到全面的信息. 当我们写的用例越来越多时,我们就需要考虑用例编写的规范与组织,以便于后期的维护,而unittest正是这样一款工具.我们这里用一个示例来展示用unittest脚本是什么样子的 1 # -*- coding: utf-8 -*- 2 from selenium impor

15. Unittest单元测试框架的介绍与使用

?什么是单元测试 在计算机编程中,单元测试(英语:Unit Testing)又称为模块测试, 是针对程序模块(软件设计的最小单位)来进行正确性检验的测试工作.程序单元是应用的最小可测试部件.在过程化编程中,一个单元就是单个程序.函数.过程等:对于面向对象编程,最小单元就是方法,包括基类(超类).抽象类.或者派生类(子类)中的方法. 上面这段内容摘自维基百科.笔者在入职的时候,一直搞不明白什么是单元测试.即使搜了很多资料,也还是搞不明白.一直到接触代码的时候,才对单元测试有了一个大概的认识.当然以

第 6 章 unittest 单元测试框架 - Selenium3 自动化测试

第 6 章 unittest 单元测试框架 单元测试是一项对技术要求很高的工作,只有白盒测试人员和软件开发人员才能胜任但用单元测试框架做单元测试却十分简单,而且单元测试框架不仅可以用来做单元测试,它还适用于不同类型的「自动化」测试. 1.提供测试用例组织和执行在 Python 中,我们编写的代码可以定义类.方法和函数,那么如何定义一条「测试用例」?如何灵活地控制这些「测试用例」的执行?单元测试框架会告诉我们. 2.提供丰富的断言方法当我们进行功能测试时,测试用例需要有预期结果.当测试用例的执行结

unittest单元测试框架总结

unittest单元测试框架不仅可以适用于单元测试,还可以适用WEB自动化测试用例的开发与执行,该测试框架可组织执行测试用例,并且提供了丰富的断言方法,判断测试用例是否通过,最终生成测试结果.今天笔者就总结下如何使用unittest单元测试框架来进行WEB自动化测试. 目录 一.unittest模块的各个属性说明 二.使用unittest框架编写测试用例思路 三.使用unittest框架编写测试用例实例 一.unittest模块的各个属性说明 点击返回目录 先来聊一聊unittest模块的各个属

python3+unittest单元测试框架

#unittest单元测试框架,主要由四部分组成:测试固件.测试用例.测试套件.测试执行器 #1.测试固件: '''def setUp(self): # 每条用例执行前都要执行,例如测试前的准备工作 print('setup') def tearDown(self): # 每条用例执行后都要执行,例如测试执行完成后的清除配置工作 print('tearDown') ''' #例如: 1 import unittest 2 3 def calc(a,b): 4 return a+b 5 6 cla

unittest单元测试框架小白入门

unittest单元测试框架: 一般也称为pyunit,是从java程序中广泛应用的junit启发而来的,unittest使我们具备创建测试用例,测试套件,测试·夹具的能力.unittest组件:1):Test fixture(测试夹具): 使用测试夹具,可以定义在单个或多个测试执行之前的准备工作和执行之后的清理工作.2)Test Case(测试用例):unittest中执行测试的最小单元,通过验证unittest提供的assert方法来验证一组特定的操作和输入以后得到的响应,unittest提