unittest单元测试框架小结

        最近用unittest做了一些接口自动化测试和UI自动化测试,但对unittest还只是一知半解,忙里偷闲对它做一个总结并记录下来,帮助自己和其它初学者解惑

1、unittest是python中的一个单元测试框架,类似于Junit(Junit是java中的单元测试框架)

2、unittest在实际测试中能怎么运用?它可以做哪些测试

    (1)单元测试:unittest

    (2)HTTP接口自动化测试:unittest + Requests

    (3)Web UI 自动化测试:unittest + Selenium

    (4)移动自动化测试:unittest + Appium

多学一点:

    1、Requests是python中用于实现http接口调用的库。

    2、Selenium用于实现Web页面的各种操作,支持多种编程语言,其中包括python语言。

    3、Appium是一款当前非常流行的移动端测试工具,同样支持python语言。

3、unittest提供了哪些功能?

    (1)提供用例编写规范与执行

    (2)提供专业的比较方法

            例如:断言相等/不相等、包含/不包含、True/False等

    (3)提供丰富的测试日志

            当测试用例执行失败时抛出明确的失败信息,当测试用例执行完成后提供执行结果信息。例如,统计失败用例数、成功用例数和执行时间等。

4、unittest的4个核心概念

    (1)Test Case——测试用例

        一个TestCase的实例就是一个测试用例,是一个完整的测试流程,包括测试前环境的大件setUp,以及测试后环境的还原tearDown。测试用例是一个完整的测试单元,可以对某一问题进行验证。

        比如一个名称为LoginTest的class继承unittest.TestCase,是一个登录测试的测试用例,其中有多个以test_开头的方法,一个这种方法就是登录这个测试点的一种情况,在load的时候会生成一个TestCase实例,例如test_loginName_error()

    (2)TestSuite——测试套件

        TestSuit用来组装单个测试用例TestCase,可以通过addTest加载到TestCase到TestSuit中,从而返回一个TestSuit实例;而且TestSuite也可以嵌套TestSuite

    (3)TestRunner——测试的执行

        TestRunner是来执行测试用例的,其中的run(test)会执行TestSuite/TestCase中的run(result)方法

    (4)Test Fixture——搭建和销毁测试用例环境

        通过setUp()和tearDown()方法来实现。可以在setUp()中建立数据库连接以及进行一些初始化,在tearDown() 中清除在数据库中产生的数据,然后关闭连接。

        注意tearDown的过程很重要,要为以后的TestCase留下一个干净的环境,且这两个方法在每个测试方法执行前以及执行后执行一次, 如果想要在所有case执行之前准备一次环境,并在所有case执行结束后再清理环境,我们可以用setUpClass()与tearDownClass(),注意:方法上必须加@classmethod,否则报错

多学一点:

1、TextTextRunner的verbosity参数可以控制执行结果的输出,0 是简单报告、1 是一般报告、2 是详细报告

2、我们可以通过skip,skipIf,skipUnless装饰器跳过某个case,或者用TestCase.skipTest方法


以上参考:虫师《Web接口开发与自动化测试》

https://blog.csdn.net/huilan_same/article/details/52944782

每天多学一点点~~

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容