我应该在TDD中使用lambdas吗?
本文关键字:lambdas TDD 我应该 | 更新日期: 2023-09-27 18:35:17
在TDD中,lambda不是有害的吗?我们如何测试封装在另一个函数中的 lambda 的功能?在我看来,您将无法测试该 lambda 以确保它按预期工作。单元测试的目的是测试小代码单元。Lambda 是在我看来无法测试的小代码单元。
任何帮助、意见、澄清或链接将不胜感激。
单元测试的目的是测试小代码单元。
这并不意味着你应该被迫为所有小代码单元编写单元测试。私有方法可以是小的代码单元,但您不直接测试它们。您可以通过测试调用它们的代码来测试它们。拉姆达也是如此。
就我个人而言,我将测试调用lambda的代码,而不是lambda本身。如果您希望测试 lambda 本身,您可以公开 lambda 并对其进行测试。
是的,即使您想要测试代码,也应该使用 lambda。
lambda 行为异常将导致父函数行为异常,只要它的测试很好地覆盖它。
最后,一些λ确实最好提取。在生成 lambda 之前三思而后行,并且只在有意义的地方使用它们并提高对代码的理解。如果 lambda 的父级行为不端,应该很容易查明 lambda 内部的问题(如果存在)。