我们可以在单元测试类 1 到单元测试类 2 iOS 之间添加依赖关系吗

Posted

技术标签:

【中文标题】我们可以在单元测试类 1 到单元测试类 2 iOS 之间添加依赖关系吗【英文标题】:Can we add dependency in between unit test class1 to unit test class2 iOS 【发布时间】:2013-05-20 10:39:58 【问题描述】:

我已经开始为我现有的应用程序编写单元测试用例来测试功能流。我正在使用 OCUnit (SentestingKit.framework)。应用程序是基于客户端-服务器的应用程序。

登录屏幕后,我的应用中有五个选项卡。 我的问题是我想为每个屏幕编写 6 个测试类。而每个选项卡都需要传递登录条件,这些条件在登录时设置了一些参数,这些参数在请求每个选项卡中的任何功能时都需要。

那么,有没有办法在这些类中添加依赖关系,以便每次登录测试类首先执行,然后各个屏幕将执行它们的测试用例。

我观察到的一件奇怪的事情是,它按字母顺序运行单元测试类(不是测试用例)。

注意:- 这种方法是我对单元测试的理解,这是我在过去两天通过不同的论坛了解到的。如果任何其他方法值得,请纠正我。

【问题讨论】:

【参考方案1】:

我相信这会起作用,但没有经过测试。在您的第一个测试类中提供一个名为 shouldTest 的类方法。如果第一次测试成功并且登录成功,则将静态布尔值设置为 YES 或 NO。当下一个测试类(以及后续类)运行时,每个测试用例都应该轮询第一个类的 shouldTest 方法,如果没有则立即返回。

您显然可以对此进行扩展。如果这不起作用,我还有其他想法,请以一种或另一种方式发表评论。

【讨论】:

能否请您发表其他想法:) @AnkitSachan 那篇文章已经有一年了。无论如何,这个想法是使用类方法和全局数据。现在 octest 已被 xctest 取代,一切可能都发生了变化。看,向类添加一个初始化方法并在那里记录,还有 init 或指定的初始化程序,看看发生了什么。

以上是关于我们可以在单元测试类 1 到单元测试类 2 iOS 之间添加依赖关系吗的主要内容,如果未能解决你的问题,请参考以下文章

IOS为啥对一个类调用ViewController进行单元测试

单元测试

Junit单元测试

iOS 开发-单元测试

在AndroidStudio中使用单元测试

iOS单元测试的那些事儿