我刚刚开始使用单元测试,而我正试图弄清楚我的测试应该是多么全面。当我使用其组件已经受到自己测试的包/库时,会出现一个特别的问题。我应该自己对这些组件进行类似的测试,还是应该只测试我添加的功能?
例如,假设我正在使用Python开发Web应用程序,并且我使用WTForms来验证输入。我应该写一些例如检查电子邮件输入无效时的行为,或者当必填字段为空时等,即使WTForms已包含自己的此表单测试?
我的直觉是,这有点多余,特别是因为我总是可以自己在任何安装上运行WTForms测试套件,但是我不确定这是否是某种禁止 - 只是假设测试是好。
答案 0 :(得分:1)
通过定义,单元的测试责任是控制一段代码的行为。因此,作为开发人员,您的责任是对您(或您的团队)开发的内容进行单元测试。
当您谈到测试WTForms时,您通常没有理由为它编写单元测试。但是编写集成测试来控制在上下文中使用它的方式(代码上下文)会产生预期的结果是有意义的。它可以在以后平滑外部代码的任何升级,因为您将首先运行应该警告您任何意外更改的集成测试。
您可以使用相同的框架进行单元和集成测试,但您应该知道每个测试所在的城堡以及它控制的部分。
答案 1 :(得分:0)
我认为你可以相信你的直觉。如果您对WTForms附带的测试充满信心并且不需要更改其行为,则无需添加更多内容。
话虽这么说,如果你打算更新你的项目依赖的库,对它进行测试可以是有益的。测试您依赖的行为可以确保您的代码仍然有效。如果这些测试失败,则表明库的行为发生了变化;您可能需要调整代码。我听说有人将这些测试称为“健康检查/测试”。