如何在viewcontroller类中测试对象的方法?

时间:2015-06-24 08:18:42

标签: objective-c ocmock

我正在寻找一种测试视频播放器方法的方法,该方法位于viewcontroller类中。

当app启动时,我可以获得viewcontroller类,但是其中的videoplayer对象是我的测试对象,我需要为它测试所有方法。

我可以分配并初始化一个新的videoplayer对象并逐个调用它的方法,但是如何验证正确运行的方法呢?我是说如何让电影/视频播放检查播放相关方法是否运作良好?所以我想使用app启动的对象,并给需要让它工作的方法一些输入,但我不知道该怎么做。

1 个答案:

答案 0 :(得分:0)

如果您使用的是标准视频播放器,例如MPMoviePlayerViewController,则只需测试您是否按预期呼叫视频播放器。如果视频播放器是VC的属性,则创建VC的部分模拟并让它返回模拟的视频播放器。然后设置对你的模拟视频播放器的期望,它"播放"当一个" play" IBAction出现在VC中并以编程方式调用该操作。另一方面,如果您实际上已经实现了自己的视频播放器,则可以使用单元测试来验证每个方法级别的行为。

您可以使用单元测试来确定在使用一系列输入调用时您的方法正常运行。所以,如果你的电影播放器​​有一个"加载"采用NSURL的方法,如果加载失败,可能会确保设置错误对象 - 由于缺少网络连接,可能无法加载,例如,您可以模拟。

测试电影播放器​​实际呈现真实电影而不仅仅是玩垃圾将更难。您可以延迟测试并确保播放光标正在前进。您还可以查看一个UI测试框架,该框架可以在电影期间截取屏幕截图,您可以稍后手动验证。

希望这有助于您入门。如果您想要更具体的答案,请分享您尝试测试的一些代码,以及您希望它做什么,我或其他人可以提供更多详细信息。