就我所了解的TDD而言,我们应该编写最少数量的测试来达到代码的目标,然后只编写通过这些测试所必需的代码。你知道吗
然而,对被调用函数签名的测试,包括对传递的非关键字参数和关键字参数(如Python的*args
和**kwargs
)的数量的测试,是否也应该纳入我们的测试套件中?你知道吗
例如,如果我们有一个调用外部API的函数,该函数可能会使用许多默认参数,那么我想我们是否测试我们是否完全按照预期调用此类API是有意义的(包括不传递多余的参数,或者检查我们不传递任何关键字标志,因为我们不需要除了默认选项以外的任何东西)?你知道吗
Tags:
这是正确的,但有一个重要的补充:您需要在TDD的每个迭代上执行它。所以最终结果(经过多次迭代)不一定是小而简单的。你用小步骤创造大的东西。你知道吗
在您描述的情况下,函数的本质是根据输入参数使用正确的参数调用外部API。如果您使用TDD创建它,那么测试将为您的函数提供一些参数,并检查是否调用了外部API。你知道吗
你可以用一些简单的东西来创建你的函数,然后把它变得更复杂。假设您正在调用外部API来处理在线存储应用程序中的支付。你知道吗
您可以从以下内容开始:
然后实现
OrderProcessor.process
只传递amount
到“处理支付”。你知道吗TDD的下一次迭代是添加买方信息:
然后修改
process
以传递buyer
信息。你知道吗相关问题 更多 >
编程相关推荐