问题标签 [xctestcase]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - XCTestCase 检查是否在 Struct 中调用了方法
我正在尝试测试一段代码,在其中检查帐户是否已经创建了密钥并将其存储在钥匙串中。如果不是,它会调用一个启动 oauth 进程的方法。
如果用户没有密钥,我的第一个想法是覆盖我想调用的方法。但是我使用的是结构,因此无法继承和覆盖该方法。
如果我正在使用一个类,我会这样:
我还没有测试过这段代码,所以不确定它是否可以编译。但是从逻辑上讲,它似乎可以处理我所追求的情况。如果在authorizeWithGoogle
我们调用的方法内,initiateAuthorization()
那么我会知道这已经发生了。但是,当他们使用结构时不能这样做,因为我们不能从结构继承。
请注意:我是 TDD 新手,所以也许我想错了。欢迎提出其他建议。但是,我不想仅仅为了编写测试而从结构转换为类。我正在使用结构,因为我想变得更快。
有谁知道我可以测试一个函数是否在结构中被调用的方法?
==========
编辑:
为了回应 dasdom 的回答,我添加了一个我试图实现的一般方法的示例:
所以我想注入 MockDataApi 以便它可以返回我想要的,因为该方法采用一种 DataApi。但是我不确定我应该如何创建这个 MockDataApi 结构并将其传递给这个方法。
有人可以帮助了解如何为此目的构建这个模拟对象并使用它吗?我意识到它与协议有关,但很难将它拼凑在一起。
ios - 在 XCTest UI 测试中,如何检查按钮、标签、视图的背景颜色?
我正在尝试验证是否可以在 XCTest UI 测试中获得背景颜色,我希望将背景颜色与设置值进行比较,这样我就不必依赖图像比较
ios - 使用 XCTestCase Xcode 7.3 在 UI 测试用例中找不到元素
我正在尝试使用 Xcode 7 创建 UI 测试用例,但我遇到了一个问题,即当我运行测试用例时会随机检测到按钮、表格等 UI 元素,并且大多数情况下它会给出错误提示“无法找到元素”。即使在添加延迟后也无法解决。任何人都可以请帮忙。
相同的代码是 XCUIDevice.sharedDevice().orientation = .Portrait
如果我编写代码 app.buttons["Login"].tap() 两次,它可以工作,否则它将无法找到 subsequest 控制元素。
ios - Xcode 单元测试:在两者中都实现了类。两者之一将用于 xctest
我无法在 xctest 目标中访问我的应用程序类。当我在测试用例构建阶段添加.m"_OBJ_CLASS_$_MYClassName", reference from: objc-class-ref in TestsCase.m ld:Symbol(s) not found for acrtichecture i386.
文件时,此错误被删除,但在测试用例上运行时,我收到以下警告 - class is implemented in both. one of the two will be used. which is undefind xcode7 ios
。
我已经阅读了许多关于 stackoverflow 的解决方案,说要从测试用例目标的构建阶段删除 .m 引用,但如果我这样做,它会给我类引用错误。
在这个项目中,我后来添加了测试用例目标,它之前不存在。这是我需要做一些构建设置的原因吗?我已经尝试了我在stakoverflow上发现的所有东西,但都没有解决我的问题。
如果我创建“新项目”并尝试访问新创建的项目测试用例类中的类,一切正常。
ios - XCTest:内部类未正确转换
XCTestCase 子类实现如下:
在上面的代码中,视图控制器对象的类型是“AppName.ViewControllerName”,如果我将其指定为如下所示的 ViewControllerName,则测试因第 7 行中的转换而失败
我尝试将视图控制器类公开并在 swift2 中使用 @testable 注释。它不起作用。
我将“启用可测试性”构建设置设置为“是”。
即使我不使用 @testable 导入,代码也可以工作,但在许多博客和教程中,这会导致错误。
任何帮助,将不胜感激!提前致谢
ios - Xcode 8 GM Seed 上的 XCTest
我有一组 XCTest 自动化脚本运行我的应用程序的 UI 测试,我正在尝试在 Xcode 8 上进行 iOS 10 测试。
但是,目前 XCTest 框架的运行速度似乎比 Xcode 7 慢。只有我遇到这个问题吗?
还是我的应用程序的问题?它的构建方式或 XCTest 的编写方式?
其他人在 Xcode 8 上遇到过同样的缓慢问题吗?
谢谢,
xctest - 如何等待一个元素并且如果在一定时间后没有找到则不会失败 xcuitest
在我的应用程序中,我有两个选项卡按钮,分别是 Tasks 和 Worklist。任务总是被加载。但是 Worklist 按钮是动态的,并且仅在一段时间后才加载。
我想在一段时间后单击任务按钮。即,我需要等待 Worklist 按钮,如果它在一段时间后存在,则单击 Tasks 按钮。此外,如果超时超过并且未加载工作列表按钮,那么我需要单击任务按钮。
我不能使用睡眠。
我可以使用expectationForPredicate 和waitForExpectationsWithTimeout。但是如果在超时后找不到元素,waitForExpectationsWithTimeout 就会失败。即使我写
这会导致主线程停止。
我只想在加载工作清单后单击任务按钮。但如果在超时后未加载工作列表,那么我还需要单击任务按钮..
有什么解决办法。任何帮助。
ios - XCTestExpectation 示例 ios
我想在目标 C 中使用 xctest 测试 web 服务响应。
我在使用时遇到了一些问题
或者
有谁知道一些教程链接或示例,以便我可以理解它的正确用法?
谢谢
ios - 在我的情况下使用未声明的标识符错误
我的代码调用了一个 C 库函数:
我正在对上述函数进行单元测试,我想getData()
在我的测试中模拟 C 函数,这是我的测试用例:
为什么我得到编译器错误:
Use of undeclared identifier 'mData'
在模拟getData()
函数内部?
objective-c - 在 Xcode 8 中,使测试方法在给定 XCTestCase 类中以特定顺序运行的方法是什么?
在 Xcode 8 之前,您可以通过在给定 XCTestCase 类中按字母顺序排列测试方法的名称(如本答案中所述),让您的单元测试以特定顺序运行。例如,测试会像这样运行:testA、testB、testC、testD 等。
但是在 Xcode 8 中,情况不再如此。例如,我有名为 test1、test2、test3、test4 的测试方法,并且 test4 将首先运行(见下面的截图)。然后我可以重新运行,test2 将在下一次运行时首先运行。
那么如何让测试在 Xcode 8 上按顺序运行呢?