hypothesis详解编程语言

hypothesis用于创建单元测试的Python库

安装

pip install hypothesis

hypothesis详解编程语言

应用:

  利用hypothesis生成测试数据

test.py

def add(a, b): 
    return a + b

使用随机数生成测试数据

test1.py

import unittest 
 
from random import randint 
from test import add 
 
class AddTest(unittest.TestCase): 
    def test_case1(self): 
        for i in range(10): 
            a=randint(-32768,32767) 
            b=randint(-32768,32767) 
            print(a,b) 
            c1=a+b 
            c2=add(a,b) 
            self.assertEqual(c1,c2) 
             
if __name__=="__main__": 
    unittest.main()

hypothesis详解编程语言

 test2.py

import unittest 
from hypothesis import given, settings 
import hypothesis.strategies as st 
from test import add 
 
class AddTest(unittest.TestCase): 
 
    @settings(max_examples=10) 
    @given(a=st.integers(), b=st.integers()) 
    def test_case(self, a, b): 
        print("a->", a) 
        print("b->", b) 
        c1 = a + b 
        c2 = add(a, b) 
        self.assertEqual(c1, c2) 
 
if __name__ == '__main__': 
    unittest.main()

hypothesis详解编程语言

通过@given() 装饰测试用例

调用strategies 模块下面的 integers() 方法生成随机的测试数

@setting()装饰器中通过max_examples用来控制随机数的个数

生成email

import unittest 
from hypothesis import given, settings 
import hypothesis.strategies as st 
 
class AddTest(unittest.TestCase): 
    @settings(max_examples=20) 
    @given(o=st.emails()) 
    def test_case(self,o): 
        print(o) 
 
if __name__ == '__main__': 
    unittest.main()

https://hypothesis.readthedocs.io/en/latest/index.html

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/20472.html

(0)
上一篇 2021年7月19日
下一篇 2021年7月19日

相关推荐

发表回复

登录后才能评论