我如何搭建自动化测试框架_08 断言

参考自:https://docs.python.org/zh-cn/3/library/unittest.html?highlight=unittest

方法检查对象引入版本assertEqual(a, b)a == bassertNotEqual(a, b)a != bassertTrue(x)bool(x) is TrueassertFalse(x)bool(x) is FalseassertIs(a, b)a is b3.1assertIsNot(a, b)a is not b3.1assertIsNone(x)x is None3.1assertIsNotNone(x)x is not None3.1assertIn(a, b)a in b3.1assertNotIn(a, b)a not in b3.1assertIsInstance(a, b)isinstance(a, b)3.2assertNotIsInstance(a, b)not isinstance(a, b)3.2

上面就是断言的使用方法以及那个解释啦!!

还有一些其他的专门一点的

方法检查对象引入版本assertRaises(exc, fun, *args, **kwds)fun(*args, **kwds) 引发了 excassertRaisesRegex(exc, r, fun, *args, **kwds)fun(*args, **kwds) 引发了 exc 并且消息可与正则表达式 r 相匹配3.1assertWarns(warn, fun, *args, **kwds)fun(*args, **kwds) 引发了 warn3.2assertWarnsRegex(warn, r, fun, *args, **kwds)fun(*args, **kwds) 引发了 warn 并且消息可与正则表达式 r 相匹配3.2assertLogs(logger, level)with 代码块在 logger 上使用了最小的 level 级别写入日志3.4assertNoLogs(logger, level)with 代码块没有在logger 上使用最小的 level 级别写入日志3.10

更加专门的

方法检查对象引入版本assertAlmostEqual(a, b)round(a-b, 7) == 0assertNotAlmostEqual(a, b)round(a-b, 7) != 0assertGreater(a, b)a > b3.1assertGreaterEqual(a, b)a >= b3.1assertLess(a, b)a < b3.1assertLessEqual(a, b)a <= b3.1assertRegex(s, r)r.search(s)3.1assertNotRegex(s, r)not r.search(s)3.2assertCountEqual(a, b)a 和 b 具有同样数量的相同元素,无论其顺序如何。3.2

一些其他的

方法用作比较引入版本assertMultiLineEqual(a, b)字符串3.1assertSequenceEqual(a, b)序列3.1assertListEqual(a, b)列表3.1assertTupleEqual(a, b)元组3.1assertSetEqual(a, b)集合3.1assertDictEqual(a, b)字典3.1

来看看使用例子

import unittest

from utils.config import Config, REPORT_PATH

from utils.client import HTTPClient

from utils.log import logger

from utils.HTMLTestRunner import HTMLTestRunner

from utils.assertion import assertHTTPCode

class TestBaiDuHTTP(unittest.TestCase):

URL = Config().get('URL')

def setUp(self):

self.client = HTTPClient(url=self.URL, method='GET')

def test_baidu_http(self):

res = self.client.send()

logger.debug(res.text)

assertHTTPCode(res, [400])

self.assertIn('百度一下,你就知道', res.text)

if __name__ == '__main__':

report = REPORT_PATH + '\\report.html'

with open(report, 'wb') as f:

runner = HTMLTestRunner(f, verbosity=2, title='从0搭建测试框架 灰蓝', description='接口html报告')

runner.run(TestBaiDuHTTP('test_baidu_http'))

————————————————

版权声明:本文为CSDN博主「huilan_same」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/huilan_same/article/details/77367275

从diamante可以看出,断言函数其实是来自于unittest框架的,所以如果对unittest进行封装之后,也还是使用self.assertXXX来使用.这样子有一个好处就是很多功能就是可以直接有框架去集成,就比较方便啦!!

文章来源

评论可见,请评论后查看内容,谢谢!!!评论后请刷新页面。