如何简化单元测试?
#教程 #生产率 #python #法国

如果我告诉您有一种魔术可以简化您的单位测试,您会相信我吗?

您应该,因为这是我们今天要看到的东西,这种魔术被称为:护理人员测试


什么是护理人员?

辅助测试是我们要注入参数变量的单元测试,它将允许使用不同的上下文重播相同的测试。


它如何工作?

想象您要测试以下功能:

def is_positif_strict(num_to_test: int) -> bool:
    return num_to_test > 0

要测试它,您必须相信:

  • 每种测试情况的​​一组功能
  • 施加所有测试的功能

我们不会隐藏它,第一个解决方案很烦人并达到维护,第二个解决方案使您完成了正在测试的复杂任务。< /p>

现在,这是对Pytest

import pytest

testdata = [
    (-1, False),
    (0, False),
    (1, True),
]

@pytest.mark.parametrize("num_to_test, expected", testdata)
def test_is_positif_strict(num_to_test, expected):
    assert is_positif_strict() == expected

在牙科示例中,我们看到@pytest.mark.parametrize注释添加了两个参数:

    包含变量名称列表的丁字裤 一个包含所有变量注入的表

当您到达时,如果您反映了每种情况的测试,您会看到一个美丽的Amé液化和简化代码。

那些可以否认绘画并在功能中完成绘画的人,这就是它带给您的:可见性

的确,与在测试中进行循环的事实不同,每种注射都会进行单位测试,据说是。突然,如果您有40个不同的情况进行测试,则报告中将在那里进行40个单位测试。 当其中一项测试被打包时非常有用。

对于那些尚未说服的人,请考虑包含正则表达式的伴侣。这些总是有很多案例需要测试的静音。因此,这样的工具将极大地使您的生活更轻松。


如果您不使用python,请知道可以在Java或Go中做同样的事情。(良好的压力与同一书店都不应对),因此,如果您对此感兴趣,您应该找出如何轻松做。

我希望它对您有帮助! ðº