一:unittest中的TestLoader使用说明

第一步:unittest增加TestSuit()

suite=unittest.TestSuite()

第二步:unittest增加Testloader几种运行方式

一:unittest.TestLoader().loadTestsFromTestCase(类名)
一:unittest.TestLoader().loadTestsFromMoudule(模块名)但是我看源码提示是说在3.5已经移除使用,那就不用这个了
三:unittest.TestLoader().loadTestsFromName(方法名)
四:unittest.TestLoader().loadTestsFromNames(方法名,复数形式)

第三步:在suite中增加运行方法

 suite.addTest(suite1)

 第四种:运行

 unittest.TextTestRunner().run(suite1)

是不是这四步有些晕,TestLoader我们可以大概理解为,把这个理解为炒菜,炒菜是需要先有锅吧,这个锅就是TestSuite,第二步,要有菜吧,菜品方式很多,抄,汤都有,

TestLoader 4种方式任君选取,第三步,把菜下锅把已经备好的菜,使用addTest方法增加备好的菜,第四步:翻炒,起锅,使用TextTestRunner运行

感觉很简单的样子,简单4步就抄完了菜,实际我们还要放盐,花椒,辣椒,掌握火候等,菜才能美味,所有unittest使用也是,如下:

运行两个(多个)文件的测试方法

我有demo,demoassert两个方法

在runtest中我们运行如下:

1.使用loadTestsFromTestCase运行

import unittest
from demo import MytestDemo
from demoassert import MyAssert
#使用unittest的testsulite
filename=[MytestDemo,MyAssert]
for i in filename:
print(i)
suite=unittest.TestSuite()
suite1=unittest.TestLoader().loadTestsFromTestCase(i)
#增加文件
suite.addTest(suite1)
unittest.TextTestRunner().run(suite1)

 运行成功

 2.使用loadTestsFromModule

我们在来试试loadTestsFromName,

import demo
suite=unittest.TestSuite()
suite1=unittest.TestLoader().loadTestsFromTestCase(demo.MytestDemo) #类名suite1=unittest.TestLoader().loadTestsFromModule(demo) #模块名、文件名
suite.addTest(suite1)
unittest.TextTestRunner(verbosity=2).run(suite1)

  运行成功

3.使用loadTestsFromName与loadTestsFromNames

这个我没有执行成功,不知道为什么,有知道的朋友还请告诉我一下,使用应该是这样

import demo
suite=unittest.TestSuite()
suite1=unittest.TestLoader().loadTestsFromName(demo.MytestDemo.test_yuantong)#w文件名+类名+方法名
suite.addTest(suite1)
unittest.TextTestRunner(verbosity=2).run(suite1)

  而使用s就是复数形式使用列表的方式执行

import demo
suite=unittest.TestSuite() suite1=unittest.TestLoader().loadTestsFromNames([demo.MytestDemo.test_yuantong,demo.MytestDemo.test_tiantian()])#w文件名+类名+方法名
suite.addTest(suite1)
unittest.TextTestRunner(verbosity=2).run(suite1)

  

unittest中的TestLoader使用的更多相关文章

  1. unittest中更高效的执行测试用例一个类只需要打开一次浏览器

    示例代码 baidu.py # _*_ coding:utf-8 _*_ import csv,unittest #导入csv模块 from time import sleep from seleni ...

  2. unittest中的方法调用时报错ValueError: no such test method in <class 'mytestcase.MyTestCase'>: runTest

    调用unittest中的方法时报错: ValueError: no such test method in <class 'mytestcase.MyTestCase'>: runTest ...

  3. unittest 中的方法调用时报错 ValueError: no such test method in <class 'mytestcase.MyTestCase'>: runTest

    1.调用unittest中的方法时报错: ValueError: no such test method in <class 'mytestcase.MyTestCase'>: runTe ...

  4. unittest中更多的测试用例

    随着软件功能的不断增加,对应的测试用例也会呈指数级增长.一个实现几十个功能的项目,对应的单 元测试用例可能达到上百个.如果把所有的测试用例都写在一个 test.py 文件中,那么这个文件会越来越臃肿, ...

  5. unittest中diascover批量执行用例

    # case_dir='./'#当前脚本的路径 # discover=unittest.defaultTestLoader.discover(case_dir,pattern='unittest_fr ...

  6. 『心善渊』Selenium3.0基础 — 28、unittest中测试套件的使用

    目录 1.测试套件的作用 2.使用测试套件 (1)入门示例 (2)根据不同的条件加载测试用例(了解) (3)常用方式(推荐) 1.测试套件的作用 在我们实际工作,使用unittest框架会有两个问题: ...

  7. python3的unittest中使用test suite(测试套件)执行指定测试用例

    示例代码 module.py class baidumodule(): def __init__(self,driver,): self.dr = driver #不能在类中再次导入webdriver ...

  8. unittest中setUp与setUpClass执行顺序

    最基础的概念 1.setUP(self)看下面的执行顺序 import unittest class TestGo(unittest.TestCase): def setUp(self): print ...

  9. 仿照addCleanup 在unittest中清理addSetupclass资源

    addCleanup的用例这里不介绍了,可以看我的另一编文章: python unittest框架中addCleanup函数详解 但如果有下面这种场景,还是会遗留大批理资源 在setUpClass注入 ...

随机推荐

  1. OpenStack核心组件-neutron网络服务

    1. neutron 介绍 1.1 Neutron 概述 传统的网络管理方式很大程度上依赖于管理员手工配置和维护各种网络硬件设备:而云环境下的网络已经变得非常复杂,特别是在多租户场景里,用户随时都可能 ...

  2. 玩转DNS服务器——Bind服务

    合理的配置DNS的查询方式 实验环境: 虚拟机:VMware® Workstation 15 Pro 均使用NAT连接   网段为192.168.1.0/24 DNS 服务器 ---- Centos ...

  3. CentOS7安装Pycharm

    1. 进入官网:https://www.jetbrains.com/pycharm/2. 点击下载3. 直接安装:tar zxvf ***.tar.gz4. 建立软连接:sudo ln -s /you ...

  4. gitlab修改ip

    gitlab 修改ip的两种方式: 修改/etc/gitlab/gitlab.rd 里面的#external_url 'http://gitlab.example.com' 为ip地址,然后重新构建- ...

  5. crc计算工具推荐

    比较好的crc计算工具,32位64位系统都可以用的.crc的校验方法也很多.推荐使用 下载地址

  6. 我永远讨厌gch文件

    一个学期没写博客了. 今天写OOP作业见鬼了, 调了半天. 我写了一个match.h和一个match.cpp, 然后match.cpp里面#include"match.h", 然后 ...

  7. C/C++中double类型的比较

    由于double浮点数的精度问题,所以在比较大小的时候,不能像int整数型那样,直接if(a==b),if(a<b),if(a>b) 要使用一个精度EPS: ; //一般这样子就够,但有时 ...

  8. .net core 多sdk 多版本 环境切换

    在讲述.net core多版本之前,我们先理解一下.net core sdk与.net core runtime之前的联系与区别,根据官网的解释我们可以简单地理解为:sdk是在开发过程中进行使用,而r ...

  9. 手工部署yugabyte的几点说明

    ntp 时间同步 ntp 时间同步对于yugabyte 是一个比较重要的服务,需要注意时间的同步 YB-Master 个数的说明 原则 YB-Master 的个数,必须和复制因子的个数一样,同时mas ...

  10. mysql ERROR 1862 (HY000): 密码超时错误解决 Your password has expired.To log in you must change it using a client that supports expired password

    工具链接可能报错,使用黑窗口链接后: 1. SET PASSWORD = PASSWORD("xinmima"); 2. flush privileges; 使用新密码链接即可.