文档章节

unittest 编写测试用例格式---(虫师《selenium3自动化测试实战--基于Python语言笔记29》)

o
 osc_isezqdgg
发布于 2019/09/18 11:15
字数 451
阅读 11
收藏 0

精选30+云产品,助力企业轻松上云!>>>

例如:以加减乘除法为例:

方法为:calculator.py

# 加减乘除算法


class Calculator:
    def __init__(self, x, y):
        self.x = int(x)
        self.y = int(y)


    # 加法
    def add(self):
        return self.x + self.y


    # 减法
    def sub(self):
        return self.x - self.y


    # 乘法
    def mul(self):
        return self.x * self.y


    # 除法
    def div(self):
        return self.x / self.y

编写测试用例为:test_calculator.py

from unittest1.calculator import Calculator


def test_add():
    c = Calculator(3, 5)
    result = c.add()
    assert result == 8, '加法运算失败!'


def test_sub():
    c = Calculator(7, 2)
    result = c.sub()
    assert result == 5, '减法运算失败!'


def test_mul():
    c = Calculator(5, 9)
    result = c.mul()
    assert result == 45, '乘法运算失败!'


def test_div():
    c = Calculator(9, 3)
    result = c.div()
    assert result == 3, '除法运算失败'


if __name__ == '__main__':
    test_add()
    test_sub()
    test_mul()
    test_div()

运行结果为:

 

局限性:当前面的测试函数运行失败后,后面的测试函数不再执行,导致执行结果无法统计

用unittest单元测试框架重新编写测试用例:

(1)创建一个测试类,必须继承unnittest模块的TestCase类

(2)创建一个测试方法,必须以"test"开头

(3)调用被测试类,传入初始化数据

(4)调用被测试方法,得到计算结果。用assertEqual()断言是否与预期结果相同。

(5)调用unnitest的main()执行测试用例

上面例子,用unnittest编写测试用例如下:

import unittest
from unittest1.calculator import Calculator


class TestCalculator(unittest.TestCase):

    def test_add(self):
        c = Calculator(3, 5)
        result = c.add()
        self.assertEqual(result, 8)

    def test_sub(self):
        c = Calculator(5, 6)
        result = c.sub()
        self.assertEqual(result, -1)

    def test_mul(self):
        c = Calculator(5, 6)
        result = c.mul()
        self.assertEqual(result, 30)

    def test_div(self):
        c = Calculator(9, 3)
        result = c.div()
        self.assertEqual(result,3)

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

运行结果 :

 

 

.:一条运行通过的测试用例

F:一条运行失败的测试用例

E:一条运行错误的测试用例

s:一条运行跳过的测试用例

 

o
粉丝 0
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。
Appium+python的单元测试框架unittest(1)(转)

unittest为python语言自带的单元测试框架,python把unittest封装为一个标准模块封装在python开发包中。unittest中常用的类有:unittest.TestCase、unittest.TestSuite、unittest.TextTestRu...

osc_ehpefkfl
2019/02/13
2
0
Selenium3 实现文件的上传与下载

1、selenium3 实现文件下载 from selenium import webdriverimport os options = webdriver.ChromeOptions()prefs = {'profile.defaultcontentsettings.popups': 0, #设置为禁止弹出下载窗口......

osc_61i1fz2h
07/05
7
0
Selenium3 实现文件的上传与下载

1、selenium3 实现文件下载 from selenium import webdriverimport os options = webdriver.ChromeOptions()prefs = {'profile.defaultcontentsettings.popups': 0, #设置为禁止弹出下载窗口......

Flutter
2018/12/22
0
0
Selenium3 实现文件的上传与下载

1、selenium3 实现文件下载 from selenium import webdriverimport os options = webdriver.ChromeOptions()prefs = {'profile.defaultcontentsettings.popups': 0, #设置为禁止弹出下载窗口......

osc_hxgkm42i
2018/12/22
4
0
21套高级软件测试,性能测试,功能测试,自动化测试,接口测试,移动端测试视频下载

软件测试系列之Java Selenium3自动化测试项目实战视频教程网盘下载 21套高级软件测试,性能测试,功能测试,自动化测试,接口测试,移动端测试,手机测试,WEB测试,渗透测试,测试用例设计,...

IT编程168
2018/12/22
4
0

没有更多内容

加载失败,请刷新页面

加载更多

python每日经典算法题5(基础题)+1(中难题)

  现在,越来越多的公司面试以及考验面试对算法要求都提高了一个层次,从现在,我讲每日抽出时间进行5+1算法题讲解,5是指基础题,1是指1道中等偏难。希望能够让大家熟练掌握python的语法结...

osc_9we1w99u
25分钟前
7
0
vue中通过路由跳转的三种方式

router-view 实现路由内容的地方,引入组件时写到需要引入的地方 需要注意的是,使用vue-router控制路由则必须router-view作为容器。 通过路由跳转的三种方式 1、router-link 【实现跳转最简...

dragon_tech
25分钟前
19
0
秃顶顶少年团-冲刺总结

这个作业属于哪个课程 https://edu.cnblogs.com/campus/zswxy/software-engineering-2017-1 这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/software-engineering-2017-1/homewor......

osc_ed2py9ot
27分钟前
9
0
往事不堪回首

开局一张图,内容全靠编 从12年大学毕业到如今,兜兜转转,依然在码工,码农,码代码的路上徘徊着,从最初的用asp.net写站点,写内部的CRM,内部管理系统,内部的XXX,很难想象内部的系统居然...

osc_nvkeo9cj
29分钟前
17
0
一款很好用的前端公、农历转换插件

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, ......

osc_qo89by3k
29分钟前
15
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部