0
点赞
收藏
分享

微信扫一扫

unittest执行测试用例有哪几种方式?我整理好几种呢


前言

 在我们实际工作当中,我们经常会用到unittest框架来执行用例,进行冒烟测试。如果你不懂冒烟测试,传送门链接:​​unittest和pytest冒烟测试哪家强?​​

通过unittest.main()来执行测试用例的方式:

import unittest 

class UCTestCase(unittest.TestCase):
def setUp(self):
#测试前需执行的操作
.....
def tearDown(self):
#测试用例执行完后所需执行的操作

# 测试用例1
def test1(self):
#具体的测试脚本

# 测试用例2
def test2(self):
#具体的测试脚本

if __name__ == "__main__":
# 运行所有的用例
unittest.main()

如果对软件测试、接口测试、自动化测试、持续集成、面试经验。感兴趣可以进到893694563,群内会有不定期的分享测试资料。还会有技术大牛,业内同行一起交流技术

通过testsuit来执行测试用例的方式:

如果想只想运用某一个用例呢?怎么办?使用套件然后传入测试用例的方法名即可,看实例

import unittest 

# 执行测试的类
class UCTestCase(unittest.TestCase):
def setUp(self):
#测试前需执行的操作

def tearDown(self):
#测试用例执行完后所需执行的操作

# 测试用例1
def test1(self):
#具体的测试脚本

# 测试用例2
def test2(self):
#具体的测试脚本

if __name__ == "__main__":
# 构造测试集
suite = unittest.TestSuite()
suite.addTest(UCTestCase("test1"))
suite.addTest(UCTestCase("test2"))
# 执行测试
runner = unittest.TextTestRunner()
runner.run(suite)

通过testLoader方式:

如果有多个类的情况下,我想运行某个类下面的测试用例呢?通过testLoader

import unittest

class TestCase1(unittest.TestCase):
def testCase1(self):
print("a")
def testCase2(self):
print("b")


class TestCase2(unittest.TestCase):
def testCase1(self):
print("a1")
def testCase2(self):
print("b1")

if __name__ == "__main__":
#此用法可以同时测试多个类
suite1 = unittest.TestLoader().loadTestsFromTestCase(TestCase1)
suite2 = unittest.TestLoader().loadTestsFromTestCase(TestCase2)
suite = unittest.TestSuite([suite1, suite2])

通过discover方式加载某路径下的所有测试用例

import unittest

# discover可以一次调用多个脚本
# test_dir 被测试脚本的路径
# pattern 脚本名称匹配规则

test_dir = "./test_case"
discover = unittest.defaultTestLoader.discover(test_dir, pattern="test*.py")

# 匹配test_case目录下所有以test开头的py文件,执行这些py文件下的所有测试用例
if __name__ == "__main__":
runner=unittest.TextTestRunner()
runner.run(discover)

如果对软件测试、接口测试、自动化测试、持续集成、面试经验。感兴趣可以进到893694563,群内会有不定期的分享测试资料。还会有技术大牛,业内同行一起交流技术



举报

相关推荐

0 条评论