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

背景知识

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

官方文档:

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

vscode的单元测试

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

演示

  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 这里实现了一个冒泡排序算法,命名为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", } ] }
  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))
  7. 在Testing中运行单元测试用例
  8. 大功告成!!
经验分享 程序员 微信小程序 职场和发展