![]() |
1
2
一般来说,如果你陷入了一个环境问题,而无条件测试似乎是不可能的,你可以解决它,如果好处是伟大的足以保证你跳过一些箍。 这里的情况是不需要的外部依赖性的一个特殊情况,我通常在单元测试中通过定义依赖代码的小部分来解决,或者通过实现存根类来填充预期的依赖性角色,从而可以测试我的代码。 因此,在这种特定的情况下,您可以创建一个新的源文件,只在测试包中链接,称为“uikitstubclasses.m”_在其中,您可以实现模拟uikit依赖类(如uiviewcontroller)的基本需求,这样您的测试就可以链接并彻底地执行自己的逻辑。 重要的是要记住,这通常不一定是所有的工作。测试将让您知道需要在存根中实现什么,例如,通过发出关于未实现方法的异常。您只需添加所需的内容来消除错误并测试代码,然后存根类就足够了。 用于测试 就像任何合法的系统框架类一样。 |
![]() |
2
2
你不能在克里斯·汉森的博客中使用这些技巧/方法吗? http://chanson.livejournal.com/120263.html 看起来你可能需要运行你的应用程序作为测试工具,但它似乎可行。仅仅因为你在运行“应用程序”,并不意味着它必须做你的应用程序所做的正常的事情。或者,您可以创建另一个应用程序目标,它只是一个简单的虚拟应用程序,将加载并运行测试包。 我同意这可能不是完美的,但听起来可能有效,而且似乎可以自动化。 |
![]() |
3
2
|
![]() |
4
1
虽然苹果的工具已经随着时间的推移而改进,但它们仍然有很多需要改进的地方。ghUnit更好,有一个真正的测试运行程序,并且使设置断点变得非常简单,等等。您甚至可以利用所有现有的语句。 您可以毫不担心地实例化所有uikit代码。我使用它来测试uiviewcontroller、断言出口和进行行为测试。 |
![]() |
user2606782 · 限制子视图在superview边界内的移动 7 年前 |