如果我告诉您有一种魔术可以简化您的单位测试,您会相信我吗?
您应该,因为这是我们今天要看到的东西,这种魔术被称为:护理人员测试。
什么是护理人员?
辅助测试是我们要注入参数变量的单元测试,它将允许使用不同的上下文重播相同的测试。
它如何工作?
想象您要测试以下功能:
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中做同样的事情。(良好的压力与同一书店都不应对),因此,如果您对此感兴趣,您应该找出如何轻松做。
我希望它对您有帮助! ðº