测开之路五十三:unittest运行参数

Fixture:进行测试前的准备工作和测试后的清理操作。例如创建临时或是代理数据库,目录,服务进程等。
用例(Case):最小的测试单元,检车特定输入的响应。TestCase作为所有用例的基类,测试case需要继承它。
套件(Suite):测试用例或者套件的集合。需要一直执行的用例采用套件组合到一起。
运行器(Runner):编排和执行测试用例,并将测试结果反馈给用户。运行器可以使用图形化界面,也可以使用文本,或者返回特殊值来标识测试结果。

cmd下:python -m unittest --help

-h, --help 显示unittest命令行帮助信息
-v, --verbose 详细显示运行单测的信息
-q, --quiet 静默模式,减少不必要的输出信息
-b, --buffer 缓存标准输出与标准错误,当执行失败或报错时显示。
-c, --catch 捕获用户的Control+C指令—这里需要继续确定一下
-f, --failfast 当发生错误或者失败则停止运行


python -m unittest test_module1 test_module2 运行指定模块
python -m unittest test_module.TestClass 运行指定类
python -m unittest test_module.TestClass.test_method 运行指定函数

 开始目录

-s START, --start-directory START
    Directory to start discovery ('.' default)

匹配规则

-p PATTERN, --pattern PATTERN
  Pattern to match tests ('test*.py' default)

顶级目录

-t TOP, --top-level-directory TOP
  Top level directory of project (defaults to start directory)

定义计算方法

class Calculator(object):

def add(self, x, y):
return x + y

def sub(self, x, y):
return x - y

def mul(self, x, y):
return x * y

def div(self, x, y):
return x / y

定义一个测试用例

import unittest
from src import Calculator

class TestCalculator(unittest.TestCase):

def setUp(self):
self.calc = Calculator()
print("setUp")
def tearDown(self):
print("tearDown")
def test_add(self):
result = self.calc.add(2, 3)
self.assertEqual(result, 5, u"测试加法。")
print("test_add")
def test_sub(self):
result = self.calc.sub(2, 3)
self.assertEqual(result, -1, u"测试减法。")
print("test_sub")
def test_mul(self):
result = self.calc.mul(2, 3)
self.assertEqual(result, 6, u"测试乘法。")
print("test_mul")
def test_div(self):
result = self.calc.div(4, 2)
self.assertEqual(result, 2, u"测试除法。")
print("test_div")

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

运行:python -m  unittest case.test_calculator

原文地址:https://www.cnblogs.com/zhongyehai/p/11048316.html