unittest中的TestLoader使用


一:unittest中的TestLoader使用說明

 

第一步:unittest增加TestSuit()

suite=unittest.TestSuite()

第二步:unittest增加Testloader幾種運行方式

一:unittest.TestLoader().loadTestsFromTestCase(類名)
一:unittest.TestLoader().loadTestsFromMoudule(模塊名)但是我看源碼提示是說在3.5已經移除使用,那就不用這個了
三:unittest.TestLoader().loadTestsFromName(方法名)
四:unittest.TestLoader().loadTestsFromNames(方法名,復數形式)

第三步:在suite中增加運行方法

 suite.addTest(suite1)

 第四種:運行

 unittest.TextTestRunner().run(suite1)

是不是這四步有些暈,TestLoader我們可以大概理解為,把這個理解為炒菜,炒菜是需要先有鍋吧,這個鍋就是TestSuite,第二步,要有菜吧,菜品方式很多,抄,湯都有,

TestLoader 4種方式任君選取,第三步,把菜下鍋把已經備好的菜,使用addTest方法增加備好的菜,第四步:翻炒,起鍋,使用TextTestRunner運行

感覺很簡單的樣子,簡單4步就抄完了菜,實際我們還要放鹽,花椒,辣椒,掌握火候等,菜才能美味,所有unittest使用也是,如下:

運行兩個(多個)文件的測試方法

我有demo,demoassert兩個方法

 

 在runtest中我們運行如下:

1.使用loadTestsFromTestCase運行

import unittest
from demo import MytestDemo
from demoassert import MyAssert
#使用unittest的testsulite
filename=[MytestDemo,MyAssert]
for i in filename:
    print(i)
    suite=unittest.TestSuite()
    suite1=unittest.TestLoader().loadTestsFromTestCase(i)
    #增加文件
    suite.addTest(suite1)
    unittest.TextTestRunner().run(suite1)

 運行成功

 2.使用loadTestsFromModule

我們在來試試loadTestsFromName,

import demo
suite=unittest.TestSuite()
suite1=unittest.TestLoader().loadTestsFromTestCase(demo.MytestDemo)  #類名suite1=unittest.TestLoader().loadTestsFromModule(demo)    #模塊名、文件名
suite.addTest(suite1)
unittest.TextTestRunner(verbosity=2).run(suite1)

  運行成功

 

 3.使用loadTestsFromName與loadTestsFromNames

 這個我沒有執行成功,不知道為什么,有知道的朋友還請告訴我一下,使用應該是這樣

import demo
suite=unittest.TestSuite()
suite1=unittest.TestLoader().loadTestsFromName(demo.MytestDemo.test_yuantong)#w文件名+類名+方法名
suite.addTest(suite1)
unittest.TextTestRunner(verbosity=2).run(suite1)

  而使用s就是復數形式使用列表的方式執行

import demo
suite=unittest.TestSuite()

suite1=unittest.TestLoader().loadTestsFromNames([demo.MytestDemo.test_yuantong,demo.MytestDemo.test_tiantian()])#w文件名+類名+方法名
suite.addTest(suite1)
unittest.TextTestRunner(verbosity=2).run(suite1)

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM