所以,我的这个问题始于我开始为简单的2行
面对这个问题,这是我第一次理解单元测试和TDD之间的区别。如果您遵循TDD思维方式,那么单元测试很容易,即如果您的代码可测试。接下来,我想知道如何编写可测试的代码,但我没有找到太多指导方针,每个教程都只是直接编写单元测试。苹果自己的documentation也没有相关内容。
我的初步想法是需要追求“函数式编程”,以一种纯函数的方式编写函数。但这很耗时间,可能需要重构现有代码,甚至对于新项目也需要添加大量代码行,而且我甚至不确定这是否是正确的方法。是否有任何建议的准则或标准可以轻松编写可测试的代码?
我已经知道的: 我知道你不能写任何代码,除非有一个测试来失败它,所以基本上我必须首先编写测试,只要我得到一个错误,甚至是编译器错误,然后我将不得不切换回实际被测试的类,写下必要的内容并使我的测试代码不出错,然后切换回测试类并继续编写我的测试和修复编译错误,直到完成。然后运行测试并查看它是否检查到我想要检查的内容。
对于所有测试,我应该确保我的测试会在我预期失败的地方通过和失败,即当预期失败时测试会通过。
我不知道如何以更简单的方式使流程更顺畅。
我不是在询问如何为NSNotificationCenter编写可测试的代码,而是在询问编写可测试代码的一般指南。
postNotification
和addObserver
编写单元测试。从这个类似的问题here你可以看到,为了使其可测试,您需要添加大约20行代码,并且要远离常规编写代码的方式。面对这个问题,这是我第一次理解单元测试和TDD之间的区别。如果您遵循TDD思维方式,那么单元测试很容易,即如果您的代码可测试。接下来,我想知道如何编写可测试的代码,但我没有找到太多指导方针,每个教程都只是直接编写单元测试。苹果自己的documentation也没有相关内容。
我的初步想法是需要追求“函数式编程”,以一种纯函数的方式编写函数。但这很耗时间,可能需要重构现有代码,甚至对于新项目也需要添加大量代码行,而且我甚至不确定这是否是正确的方法。是否有任何建议的准则或标准可以轻松编写可测试的代码?
我已经知道的: 我知道你不能写任何代码,除非有一个测试来失败它,所以基本上我必须首先编写测试,只要我得到一个错误,甚至是编译器错误,然后我将不得不切换回实际被测试的类,写下必要的内容并使我的测试代码不出错,然后切换回测试类并继续编写我的测试和修复编译错误,直到完成。然后运行测试并查看它是否检查到我想要检查的内容。
对于所有测试,我应该确保我的测试会在我预期失败的地方通过和失败,即当预期失败时测试会通过。
我不知道如何以更简单的方式使流程更顺畅。
我不是在询问如何为NSNotificationCenter编写可测试的代码,而是在询问编写可测试代码的一般指南。
XCTestExpectation
... - mfaani