当我研究iPhone项目的单元测试时,我发现在单元测试中很难确定单元的规模,所以如果我有三种方法A,B和C,我可以测试它们中的每一个,但是有时你需要在B之前调用A以使B有意义,例如,如果我有addImageWithName:和removeImageWithName:,那么我需要先添加一个图像,以便测试removeImageWithName:是否真的有效。
所以这是黑盒单方法测试或功能测试之间的决定(功能意味着应用程序的功能可能涉及多种方法),如果时间紧,那么我不能同时使用它们,那么什么这两种方法的优点和缺点是什么?
我能想到的是:
===单一方法测试=== 优点: - 易于编写测试用例,因为您只需要处理各个方法的输入/输出 缺点: - 方法需要高度解耦,因此一种方法不依赖于另一种方法 - 有时候不可能,例如撤消方法必须依赖'do'方法。
===功能测试=== 优点: - 比每个方法测试更高的级别,因为它针对应用程序的功能
缺点: - 如果函数很复杂,不容易编写测试用例 - 可能无法涵盖特定职能所涉及的每种方法的所有案例
那么正确的决定应该是什么?
谢谢!
答案 0 :(得分:0)
单一方法测试它是在xcode中编写单元测试的最佳方法。无论如何,如果你的函数依赖于另一个函数来完成你可以使用异步单元测试,使用GHUnit测试框架来测试异步方法。
顺便说一句:你正在使用什么,OCUnit或GHUnit进行测试?希望这个帮助