当前位置: 首页 > 知识库问答 >
问题:

@Swift单元测试中可测试的Watch扩展模块导入

高峻
2023-03-14

我最近注意到,@teable导入似乎不适用于监视扩展模块。

以下是我迄今为止尝试过的:

  • 使用WatchKit应用程序创建一个新的Xcode项目,并包含单元测试
  • 打开自动创建的单元测试文件并添加@testable import ProjectName_WatchKit_Extension(确认这是扩展的构建设置中正确的模块名称后)。这会导致“无此类模块”编译器错误
  • 确认在扩展生成设置中将“启用可测试性”设置为“是”
  • 更改扩展模块的名称以删除空格

通过向测试目标添加所需的文件,我当然能够成功地进行单元测试,但我觉得这应该不是必需的。

有没有人能够成功地将@testable import与手表扩展一起使用?这是我应该能做到的吗?任何帮助都将不胜感激。

共有1个答案

百里诚
2023-03-14

从Instagram library iInterfaceDataTable:https://github.com/facebookarchive/IGInterfaceDataTable/tree/e5565a96c5a71ef7b849920adc34f880cc37dc03#testing

Since WKInterfaceTable objects must be initialized from storyboards, and 
there is no mechanism yet to create a WatchKit storyboard in code, we cannot use 
Xcode unit tests yet.

For now, tests are run manually by executing the ApplicationTests WatchKit 
extension and ensuring that none of the asserts are fired.

这是一个很好的问题,我看到一个类似的问题是针对快速敏捷测试框架打开的,该框架谈到了对手表套件扩展测试缺乏支持。看看:https://github.com/Quick/Quick/issues/273.

 类似资料:
  • 问题内容: 我在一个模块中有一个测试类,该模块在其依赖项模块之一中扩展了另一个测试类。如何将依赖项的测试代码导入到依赖模块的测试范围中? 首先,我有两个模块,“ module-one”是对“ module-two”的依赖。是的子类。 但是构建失败了,因为没有将“模块一”的测试代码导入到“模块二”中,而只是将其导入到主代码中。 问题答案: 通常,除了常规的modulename.jar文件之外,还可以

  • 问题内容: 如何在Swift中为代码路径实现单元测试? 例如,我有以下快速代码 我想对y = 0的情况进行单元测试。 注意,我要使用fatalError而不是其他任何断言函数。 问题答案: Nimble(“用于Swift和Objective- C的Matcher框架”)得到了支持: 迅捷断言 如果使用的是Swift,则可以使用throwAssertion匹配器检查是否抛出了断言(例如fatalEr

  • Swift下的单元测试 主要是由于苹果官方框架的测试方法及断言不明确,可读性不好,难以分辨,交接项目需要花费的时间很多,所以建议采用三方测试框架 方案一: Quick + Nimble 方案二: Sleipnir 已经停更 用到的类库有: Quick Nimble Dobby、MockFive、SwiftMock Quick Quick 是一个建立在XCTest 上,为Swift 和Objecti

  • Android Studio 1.1 添加了单元测试支持,详细请看 Unit testing support。本章的其余部分描述的是 “instrumentation tests”。利用 Instrumentation 测试框架可以构建独立的测试 APK 并运行在真实设备(或模拟器)中进行测试。

  • 英文原文:http://emberjs.com/guides/testing/unit/ 单元测试用于测试代码的一个小片段,确保其功能正常。与集成测试不同,单元测试被限定在一个范围内,并且不需要Ember应用运行。 全局 vs 模块 过去如果没有作为一个全局变量加载整个Ember应用,要对应用进行测试非常困难。通过使用模块(CommonJS,AMD等)来编写应用,可以只加载被测试的部分,而不用将其

  • 我想找到一种方法对我的定制nginx模块进行单元测试,但失败了。有人能提供一些建议吗?我曾经找到过Test::Nginx框架,但它可以作为系统测试。有人告诉我,我可以使用ngx_lua_模块通过FFI的方式在nginx模块中公开C函数。有人知道怎么做吗?