unittest 基础之 —— TestCase

深入解读Python的unittest并拓展HTMLTestRunner

unnitest 就是unnitest=TestCase+TestResult ,到其实最终执行的是 TestCase 中的run方法,并把结果给 TestResult(或它的子类)。

import unittest
class Mydemo(unittest.TestCase):
    def setUp(self):
        self.a=1
    def test1(self):
        print "i am test1 the value of a is {}".format(self.a)
    def test2(self):
        print "i am test2 the value of a is {}".format(self.a)
    def  test3(self):
        print "i am test3 the value of a is {}".format(self.a)
if __name__ == '__main__':
    unittest.main()
i am test1 the value of a is 1
...
i am test2 the value of a is 1
i am test3 the value of a is 1
----------------------------------------------------------------------
Ran 3 tests in 0.000s

OK

这个是没有问题的,那么我们可能要想这个unnitest.main()是什么东西,还有其他的写法来执行吗,能只执行test1,test2,不执行test3吗(暂时不用skip)?那么我们从unittest.main()看起来。debug进入其实最终执行的是TestProgram这类,贴出构造函数部分代码:

if argv is None:
            argv = sys.argv#得到当前模块的绝对路径

        self.exit = exit
        self.failfast = failfast
        self.catchbreak = catchbreak
        self.verbosity = verbosity
        self.buffer = buffer
        self.defaultTest = defaultTest
        self.testRunner = testRunner
        self.testLoader = testLoader
        self.progName = os.path.basename(argv[0])
        self.parseArgs(argv)#查找当前module的Testsuite
        self.runTests()#执行测试

从上面我们可以看出来其实也就2个主要的步骤就是第一:找出要测试的testcase,并加入到Testsuite,第二:运行Testsuite并把结果给TestResult。

首先,第一:了解什么是TestCase?什么是TestSuite?第二:如果找出这些Testcase,或者TestSuite?


什么是TestCase?

有人说TesetCase就是以test开头的就叫一个testcase,准确的说:是实例了一个TesetCase类的叫一个TestCase,比如这样:

import unittest
class Mydemo(unittest.TestCase):
    def setUp(self):
        self.a=1
    def Mytest1(self):
        print "i am Mytest1 the value of a is {}".format(self.a)
    def Mytest2(self):
        print "i am Mytest2 the value of a is {}".format(self.a)
    def Mytest3(self):
        print 
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
unittest.TestCase是一个定义测试用例的类,它是unittest框架中的核心类之一。通过继承unittest.TestCase类,我们可以创建测试类,并在其中编写具体的测试用例。该类提供了一些常用的方法和断言方法,如setUp和tearDown方法用于在测试之前和之后的准备工作和清理工作,以及各种断言方法用于验证预期结果与实际结果是否一致。我们可以在测试用例类中定义多个测试方法,每个测试方法对应一个具体的测试场景。在每个测试方法中,我们可以编写测试逻辑并使用断言方法进行结果验证。通过运行测试用例类,可以执行其中的所有测试方法,并查看测试结果。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [unittest单元测试框架总结--转载](https://blog.csdn.net/weixin_39650679/article/details/88682395)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [unittestTestCase类详解](https://blog.csdn.net/fengguangke/article/details/81673971)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值