python的unittest框架练习(二)

单个添加case到TestSuite中,来执行测试

# TestSuite控制用例的执行

# 导入框架

importunittest

# 导入测试方法类

fromtest_mathsimportTestMaths

# 执行测试的流程处理

if__name__=='__main__':

# 按照一定的顺序来执行测试用例

# 实例化一个TestSuite

suite=unittest.TestSuite()

# 将用例单个添加进入到TestSuite中

suite.addTest(TestMaths("test_multiss"))

suite.addTest(TestMaths("test_add"))

# 按照定义好的顺序执行测试

runner = unittest.TextTestRunner(verbosity=2)

runner.run(suite)

执行结果如下,先执行第一个case再执行第二个case,这就是单个添加进入到TestSuite中按添加顺序执行测试


python的unittest框架练习(二)_第1张图片

TestLoader的应用

写法一

# TestSuite控制用例的执行

# 导入框架

importunittest

# 导入测试方法类

fromtest_mathsimportTestMaths

# 执行测试的流程处理

if__name__=='__main__':

# 按照一定的顺序来执行测试用例

# 实例化一个TestSuite

suite=unittest.TestSuite()

# 使用addTests+TestLoader

# loadTestsFromName(),传入'模块名.TestCase名'

# TestLoader用来加载TestCase到TestSuite中,loadTestsFrom_()方法,是从各个地方查找TestCase,创建它们的实例,然后add到TestSuite中,再返回一个TestSuite实例

suite.addTests(unittest.TestLoader().loadTestsFromName('test_maths.TestMaths'))

# 执行测试,TestLoader的方法是无法对case进行排序的

runner = unittest.TextTestRunner(verbosity=2)

runner.run(suite)

执行结果如下,TestMaths中所有函数都执行了测试,但是是无顺序的



python的unittest框架练习(二)_第2张图片


写法二

# TestSuite控制用例的执行

# 导入框架

importunittest

# 导入测试方法类

fromtest_mathsimportTestMaths

# 执行测试的流程处理

if__name__=='__main__':

# 按照一定的顺序来执行测试用例

# 实例化一个TestSuite

suite=unittest.TestSuite()

# 使用addTests+TestLoader

# loadTestsFromName(),传入'模块名.TestCase名'

# TestLoader用来加载TestCase到TestSuite中,loadTestsFrom_()方法,是从各个地方查找TestCase,创建它们的实例,然后add到TestSuite中,再返回一个TestSuite实例

#  loadTestsFromNames()跟loadTestsFromNames()是相同的功能,只不过它接收的是字符串列表

suite.addTests(unittest.TestLoader().loadTestsFromNames(['test_maths.TestMaths']))

# 执行测试,TestLoader的方法是无法对case进行排序的

runner = unittest.TextTestRunner()

runner.run(suite)

返回的结果如下图,TestMaths中所有函数都执行了测试,但是是无顺序的


python的unittest框架练习(二)_第3张图片

写法三

# TestSuite控制用例的执行

# 导入框架

importunittest

# 导入测试方法类

fromtest_mathsimportTestMaths

# 执行测试的流程处理

if__name__=='__main__':

# 按照一定的顺序来执行测试用例

# 实例化一个TestSuite

suite=unittest.TestSuite()

# 使用addTests+TestLoader

# loadTestsFromTestCase()获取其中的所有测试方法

suite.addTests(unittest.TestLoader().loadTestsFromTestCase(TestMaths))

# 执行测试,TestLoader的方法是无法对case进行排序的

runner = unittest.TextTestRunner()

runner.run(suite)

返回的结果如下图,TestMaths中所有函数都执行了测试,但是是无顺序的


python的unittest框架练习(二)_第4张图片

你可能感兴趣的:(python的unittest框架练习(二))