gpt4 book ai didi

cocoa - 如何在 Xcode 中编写 GUI 的自动化单元测试?

转载 作者:行者123 更新时间:2023-12-03 16:09:09 25 4
gpt4 key购买 nike

我想为我的 Cocoa 应用程序的 GUI 部分编写一个单元测试。

在教科书的单元测试中,有一个测试框架和测试用例来调用被测单元。该单元下面的所有代码都被模拟出来。因此,输入和输出都受到控制和监视;仅测试被测单元中的代码。

我想做同样的事情,其中​​被测单元是我的 GUI:
1)建立某种框架,我可以在其中编写操作和检查 GUI 控件的代码。
2) 将我的 GUI 控件连接到我的实际代码的模拟,而不是真实的实例。
3) 运行测试,该测试操作控件,然后检查模拟对象以查看是否使用正确的参数调用了正确的方法,并检查 GUI 以查看模拟对象的响应是否导致小部件中的正确更改。

有人这样做吗?如果是这样,怎么办?关于如何做到这一点有什么想法吗?

谢谢

拍拍

(编辑)举一个非常具体的例子,我想:
1) 编写一个测试用例,选择菜单项“MyMenu”->“MyItem”。在此测试用例中,我想检查方法 [AppDelegate doMyItem] 是否被精确调用一次,并且 AppDelegate 中没有其他方法被调用。
2)生成AppDelegate的mock对象。 (我知道该怎么做)
3)以某种方式(在这里挥手)链接我的应用程序,以便链接 AppDelegate 的模拟实例而不是真实的实例。
4) 运行测试。观察它失败,因为 1) 我还没有创建 MyMenu。 2)我还没有创建MyItem。 3) 我还没有完成将 MyItem 连接到 [AppDelegate doMyItem] 的 IB 工作,或者 4) 因为我还没有编写“doMyItem”方法。
5)解决上述四个问题(如果那天我感觉很迂腐的话,一次解决一个)。
6) 再次运行测试并观察是否成功。

这是否让问题变得清晰?

最佳答案

两个原则,两个链接:

关于cocoa - 如何在 Xcode 中编写 GUI 的自动化单元测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1028969/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com