简单学习python+unittest框架

慢慢学习使用unittest单元测试框架

慢慢学习使用unittest单元测试框架

我们现在开始进入主题

建立一个小dome

使用unittest首先要import unittest
下面直接粘贴代码,具体注释也很详细
进行一个小小的计算例子:

 import unittest
    def jisuan(a,b):
        s=a+b
        return s
    class ceshi(unittest.TestCase):
        def setUp(self):
             pass
        def test_1(self):#测试用例必须以test开头,都这不会被读取
            self.assertEqual(1, jisuan(3, 2))
            print("1")
        def test_2(self):
            self.assertEqual(5, jisuan(3, 2))
            print("2")
        def test_3(self):
            self.assertEqual(2, jisuan(0, 2))
            print("3")
        def tearDown(self):
           pass
    if __name__ == '__main__':
        unittest.main()

setUp,tearDown 是做执行初始化用的。
结果:----------------------------------------------------------------------
Ran 3 tests in 0.003s
FAILED (failures=1)
因为 self.assertEqual(1, jisuan(3, 2))这个出现问题啦,认真阅读代码

测试用例的执行顺序,上代码:

import unittest
from if__main import ceshi     #导入含有测试用例的那个方法

if __name__ == '__main__':
    suite = unittest.TestSuite()

    tests = [ceshi("test_0"), ceshi("test_3"), ceshi("test_2")]#导入的测试方法的类,定义用例的执行顺序
    suite.addTests(tests)
    runner = unittest.TextTestRunner(verbosity=2)#verbosity  默认是 1,如果设为 0不输出,2输出详情
    runner.run(suite)

如果你想要使用txt保存你的执行结果,下列代码:

import unittest
from if__main import ceshi

if __name__ == '__main__':
    suite = unittest.TestSuite()

    tests = [ceshi("test_0"), ceshi("test_3"), ceshi("test_2")]
    suite.addTests(tests)

    with open('执行结果.txt', 'a+') as f:
        runner = unittest.TextTestRunner(stream=f,verbosity=2)		#关键在于stream=f
        runner.run(suite)

多条用例进行:

import unittest
from if__main import ceshi

if __name__ == '__main__':
    suite = unittest.TestSuite()
    for i in range(1,4):     		#循环加入tests队列
        tests = [ceshi("test_"+str(i))]  	#参数化测试用例的名称
        suite.addTests(tests)      

    with open('执行结果.txt', 'a+') as f:
        runner = unittest.TextTestRunner(stream=f,verbosity=2)    
        runner.run(suite) 

博主很菜,希望找个队友,好好的一块去学习。

你可能感兴趣的:(单元测试)