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)
    

      

  • 相关阅读:
    Fidder4 顶部提示 “The system proxy was changed,click to reenable fiddler capture”。
    redis 哨兵 sentinel master slave 连接建立过程
    虚拟点赞浏览功能的大数据量测试
    python基础练习题(题目 字母识词)
    python基础练习题(题目 回文数)
    python基础练习题(题目 递归求等差数列)
    python基础练习题(题目 递归输出)
    python基础练习题(题目 递归求阶乘)
    python基础练习题(题目 阶乘求和)
    python基础练习题(题目 斐波那契数列II)
  • 原文地址:https://www.cnblogs.com/chongyou/p/11493883.html
Copyright © 2011-2022 走看看