zoukankan      html  css  js  c++  java
  • 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)
    

      

  • 相关阅读:
    洛谷 P1032 子串变换
    RCTF 2017 easyre153
    SUCTF 2016 : dMd
    南邮 base64全家桶
    洛谷 P1908 逆序对
    2019中山大学程序设计竞赛 Triangle
    WhiteHat Contest 11 : re1100
    P1010 幂次方
    洛谷 P1088 火星人
    南邮 骚年来一发吗
  • 原文地址:https://www.cnblogs.com/chongyou/p/11493883.html
Copyright © 2011-2022 走看看