因此,当我开始对简单的 2 行postNotification
and进行单元测试时,我的这个问题就开始了addObserver
。从这里的类似问题中,您可以看到要使其可测试,您需要添加约 20 行代码,并与编写代码的常用方式分开。
面对这个问题,其实是我第一次明白单元测试和TDD的区别。如果您的代码是可测试的,即如果您遵循 TDD 思维方式,则单元测试很容易。接下来我被带到了如何编写可测试的代码,我没有找到太多的指导方针,每个教程都只是跳到编写单元测试。苹果自己的文档对此一无所知。
我最初的想法是,我需要以“函数式编程”为目标,并以纯函数的方式编写函数。但话又说回来,这非常耗时,可能需要对现有代码进行大量重构,甚至对于新项目也需要大量添加行,我什至不确定这是否是正确的方法。是否有任何建议的指南或标准以简单的方式编写可测试的代码?
我自己已经知道的:我知道你不应该写任何代码,除非有一个测试让它失败,所以基本上我必须先写测试,一旦我得到一个错误,甚至是编译器错误然后我将不得不切换回正在测试的实际类,编写任何必要的内容并使我的测试代码不给出任何错误,然后切换回测试类并继续编写我的测试并修复编译错误,直到完成。然后运行测试,看看它是否检查了我想要检查的内容。
对于所有测试,我应该确保我的测试会在我预期失败的地方通过和失败,即测试会在预期失败时通过。
我不知道如何以更简单的方式使流程变得顺畅。
我不是在询问如何为 NSNotificationCenter 编写可测试的代码,我是在询问编写可测试代码的一般准则。