当前位置:   article > 正文

使用vscode进行python的单元测试,提高开发效率_vscode单元测试

vscode单元测试

背景知识

单元测试在我们的开发过程中非常有必要,它可以验证实现的一个函数是否达到预期。以前在学校写代码时,都是怼一堆代码,然后直接运行,如果报错再一步步调试,这样大部分时间都浪费在调试工作上。工作后发现大家都使用单元测试,这样做其实更规范,也提高了开发的效率。

官方文档:

https://code.visualstudio.com/docs/python/testing

vscode的单元测试

vscode中,我们可以实现对编写的每一个函数进行单元测试,理应每实现一个函数都有一个单元测试的用例,也就是使用下面这个东西。
vscode testing

演示

  1. 新建一个python项目,实现一个冒泡排序算法

    class ArraySort:
        def bubble_sort(self, arr):
            n = len(arr)
            for i in range(n):
                for j in range(0, n-i-1):
                    if arr[j] > arr[j+1]:
                        arr[j], arr[j+1] = arr[j+1], arr[j]
            return arr
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    这里实现了一个冒泡排序算法,命名为bubble_sort,并放置在src目录的array_sort.py文件中。在这里插入图片描述

  2. 在Testing中配置测试文件
    点击左边栏的Tesing,配置python测试文件
    在这里插入图片描述
    依次选择:unittest -> Root Directory -> *test.py,这里表示使用unittest框架测试,测试文件的格式为*test.py
    在这里插入图片描述
    随后在项目目录中多了一个.vscode文件夹,其中包含一个settings.json文件,在这里可以设置项目的一些配置。

  3. 添加launch.json文件,改文件用于配制项目调试的启动选项。

    {
        "version": "0.2.0",
        "configurations": [
            {
                "name":"Python: Current File",
                "type":"python",
                "request":"launch",
                "program":"${file}",
                "console":"integratedTerminal",
            }
        ]
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
  4. 为了更好的管理测试文件,我们新建一个tests文件夹,用于存放单元测试文件,并在settings.json文件中指定改文件夹。

  5. 在tests目录新建测试文件,注意需要以*test.py结尾,例如array_sort_test.py

  6. array_sort_test.py中编写单元测试用例,需要引入unittest模块,并以test开头命名类和方法
    在这里插入图片描述

    import unittest
    from src.array_sort import ArraySort
    
    array_sort = ArraySort()
    
    class ArraySortTest(unittest.TestCase):
        def test_bubble_sort(self):
            nums = [2, 3, 6, 1, 7, 3, 4]
            print(array_sort.bubble_sort(arr=nums))
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
  7. 在Testing中运行单元测试用例
    在这里插入图片描述

  8. 大功告成!!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/366563
推荐阅读
相关标签
  

闽ICP备14008679号