数据科学:从学校到工作,第四部分

测试Python项目的良好实践数据科学:从学校到工作,第四部分首先出现在数据科学方面。

来源:走向数据科学

让我们从一个简单的示例开始,将吸引我们大多数人。如果您想检查汽车的眨眼是否正常工作,请坐在汽车中,打开点火开关并测试转弯信号以查看前灯和后灯是否有效。但是,如果灯光不起作用,很难说明原因。灯泡可能已经死亡,电池可能已经死亡,转向信号开关可能有故障。简而言之,有很多检查。这正是测试的目的。必须测试功能的每个部分,例如确定出了什么问题。灯泡测试,电池测试,控制单元和指示器之间的通信测试等等。

为了测试所有这些,有不同类型的测试,通常以金字塔的形式呈现,从最快到最慢,从最隔离到最集成的测试。该测试金字塔可以根据项目的细节(数据库连接测试,身份验证测试等)而有所不同。

测试金字塔|来自作者的图像。

金字塔的基础:单位测试

单元测试构成了测试金字塔的基础,而不论项目类型(和语言)。他们的目的是测试一个代码单位,例如方法或功能。为了使单位测试真正考虑到这样,它必须遵守基本规则:单位测试不得取决于正在测试的单元外部的功能。它们具有快速和自动化的优势。

示例:考虑一个函数,可以从峰值中提取偶数数字。要测试此功能,我们需要创建几种使用整数的峰值并检查输出。但是,在空白迭代,int以外的其他元素类型等情况下,我们还需要检查行为。

示例:

中级级别:集成和功能测试

示例

金字塔的顶部:端到端测试

与医生进行的单位测试

DocString calculate_stats.py calculate_mean() Python最佳实践 calculate_std()
python -M医生calculate_stats.py -v
uv -v 医生 Unittest pytest

0