Pau*_*nta 4 python unit-testing
到目前为止,我从未编写过适当的测试,只有在测试成功后才会处理的小程序.我正在浏览Python的unittest模块和网络教程,但有些事情对我来说并不清楚.
一个人应该多少钱TestCase?我在网上看到过TestCase只有一个方法的类的例子,以及测试几乎所有可用功能的类.
就我而言,我正在尝试为简单的布隆过滤器编写测试.您认为我应该如何组织我的测试用例?
简单来说:一个单元测试应该涵盖程序的单个功能.这就是说的全部.这就是为什么他们被称为单元测试.
当然,我们通过功能理解的内容可能会有所不同.考虑一下程序的最小部分可能会破坏或不按预期工作.考虑代码的业务需求.这些是您希望每个部件都由专用单元测试覆盖的部件.
通常,单元测试是小的,孤立的和原子的.它们应该易于理解,它们应该彼此独立地失败/传递,并且应该快速执行.适当的单元测试的相当好的指示是单一断言 - 如果你发现自己写得更多,你可能测试得太多了,这是一个标志,你需要多个测试给定的功能.但是,这不是一个严格的规则 - 涉及的代码越复杂,单元测试就越复杂.
编写测试时,很容易分割代码功能并测试这些分离的部分(这应该让您了解测试的原子性).例如,如果您有一个验证输入的方法然后调用服务并最终返回结果,您通常希望涵盖所有三个(验证,调用,返回)步骤.