什么是 Python 单元测试?
什么是单元测试?
单元测试是一种软件测试,其中测试系统的每个单独组件。单元测试是开发人员的重要实践。它确保软件的每个组件都按预期正常运行。单元测试主要由开发人员在软件开发的编码阶段执行。
单元测试使得修复问题变得容易,因为开发人员开始知道系统或软件的哪个特定组件有问题,并且开发人员可以修复该特定单元。
Python 单元测试
python 有一个名为unittest 的内置包,用于执行单元测试。单元测试使代码面向未来,因为开发人员预测了代码可能失败的可能情况,并且针对这些情况对代码进行了测试,cases.Even尽管我们可能会错过某些情况,但仍然会解决大多数情况,并且将针对这些情况对代码进行测试那些情况。
unittest 模块可以通过在 python 程序中导入这个模块来使用,如下所示。
import unittest
示例
假设我们有一个简单的函数,它计算正方形的面积。让这个文件以名称“area.py”保存。
def area(a):return (a+a)
现在,让我们为上述函数编写单元测试代码,它会让我们知道我们的函数是否给出了预期的输出。让单元测试代码文件以名称“unit_test.py”保存。
unit_test.py &mnus;
from area import *import unittest
class Testarea(unittest.TestCase):
def test_area(self):
self.assertAlmostEqual(area(5),25)
self.assertAlmostEqual(area(3),9)
self.assertAlmostEqual(area(4),16)
在这里,包含要测试的代码的文件被导入。使用单元测试方法。这将调用带有一些输入的 area 函数,第二个参数包含函数返回的预期输出。如果 返回的输出等于预期输出,则测试通过,否则失败。 assertAlmostEqual()area()
现在让我们从命令提示符运行 unit_test.py 来检查我们的area()代码是否通过了测试。
从命令提示符执行以下命令以运行 unit_test 文件。
python -m unittest unit_test.py输出结果
C:\Users\Inderjit Singh\Desktop>python -m unittest unit_test.pyF
======================================================================
FAIL: test_area (unit_test.Testarea)
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\Users\Inderjit Singh\Desktop\unit_test.py", line 7, in test_area
self.assertAlmostEqual(area(5),25)
AssertionError: 10 != 25 within 7 places (15 difference)
----------------------------------------------------------------------
Ran 1 test in 0.001s
FAILED (failures=1)
我们的代码没有通过单元测试。原因在回溯中给出。第一个函数 self.assertAlmostEqual(area(5),25) 导致我们的代码失败。由于该函数返回 10 但预期输出为 25。
因为,这是一个简单的功能,我们知道解决这个问题。我们的area()代码是错误的。它应该返回 (a*a) 而不是 (a+a)。
让我们修复area()代码并重新运行单元测试。
def area(a):return (a*a)
重新运行 unit_test.py
C:\Users\Inderjit Singh\Desktop>python -m unittest unit_test.py.
----------------------------------------------------------------------
Ran 1 test in 0.000s
OK
现在,由于我们更正了 中的代码area(),它以 OK 状态成功运行。这可确保我们的代码针对 unit_test.py 文件中指定的所有情况完美运行。
这是一个非常简单的想法,可以提供有关单元测试的想法。unittest 模块中还有各种其他功能,用于开发过程中的单元测试。
以上是 什么是 Python 单元测试? 的全部内容, 来源链接: utcz.com/z/327521.html