在提出问题之前,我应该这样说。我对Xcode中UI测试的理解:
我的情景:
我想在我的UI测试用例的源代码中调用视图控制器中的方法(Say myMethod()
)(说MyVC.h/MyVC.m
)。
注意:我的源代码是用Objective C编写的,我在Swift中编写测试用例。
根据我的理解,要做到这一点,我应该在UITest目标中添加MyVC.m
(我们不能将.h添加到目标)。然后我需要在我的UITest桥接文件中导入MyVC.h
。然后我可以像这样从UITest拨打myMethod()
:
MyVC.myMethod()
它会起作用!!
问题:
实时,大多数类使用Util类,常量文件(头文件),从.pch文件导入的类,共享管理器等。
如果MyVC
是一个独立的类,意味着不使用上述任何类,我可以毫无问题地访问myMethod()
。
但是,如果MyVC
间接使用这些类,则运行UITest会在所有源代码中显示缺少的头文件错误。
我尝试了什么:
问题:
我应该在主要来源的所有文件中添加所有需要的文件标题吗?
有没有人遇到过这种错误?有人从UI测试中完成了数据库访问吗?
答案 0 :(得分:1)
两件事:
我认为第二位可能对您的需求无关紧要,因为从UI测试中点击数据库会让您觉得您不需要应用程序中的特定对象,只是一个对象class来获取由于某种原因在其上声明的某些DB访问方法。为此,只需能够在类中进行编译并实例化并发送消息就足够了。 (但是,通过将这些与DB相关的方法分解为非UI类,您可能仍然可以让您的生活更轻松。)