首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >没有使用cocoapods的`Quick`这样的模块

没有使用cocoapods的`Quick`这样的模块
EN

Stack Overflow用户
提问于 2016-10-03 01:25:19
回答 8查看 4K关注 0票数 5

我已经学习swift三天了。我计划在swift中培养我的技能,特别是在iOS开发方面。我的同事是一名iOS开发人员,我刚刚建议他在我们的应用程序中编写测试时学习swift --这对公司和我自己都有好处,这对我来说是有意义的。现在,我正在尝试遵循本教程https://medium.com/@ynzc/getting-started-with-tdd-in-swift-2fab3e07204b

按照教程的要求,在一个名为Quick的框架中重写测试,该框架与Rspec非常相似。我安装了CocoaPod,然后安装了Quick框架。使用.xcworkspaces而不是.xcodeproj。但是我还是得到了No such module 'Quick'的错误。

我已经做了研究,移除了pod,但仍然得到了错误。

代码语言:javascript
运行
复制
platform :ios, '9.2'

target 'FizzBuzz' do
  use_frameworks!

  def test_pods
    pod 'Quick', '~> 0.9.0'
    pod 'Nimble', '~> 3.2.0'
  end

  target 'FizzBuzzTests' do
    inherit! :search_paths
    test_pods
  end

  target 'FizzBuzzUITests' do
    inherit! :search_paths
    test_pods
  end

end

项目文件夹截图:

EN

回答 8

Stack Overflow用户

发布于 2017-07-24 19:43:19

我最近遇到了这个问题,目前的答案都没有为我解决这个问题。

出现此错误的原因是,我创建的测试/规范文件(NetworkSpec.swift)的目标成员身份是主应用程序目标,而不是测试目标。

为了更新它,我在xcode中打开了项目,在项目资源管理器中选择了文件,然后在右侧的属性窗口中选择了该文件。然后在目标会员区。我有两个选择。

  • ProjectName
  • ProjectNameTests

我取消选中ProjectName (不是应用程序的真实名称)旁边的复选框,然后选中ProjectNameTests旁边的复选框,并重新运行测试。一切都按预期进行了。

票数 6
EN

Stack Overflow用户

发布于 2016-11-19 17:26:24

我遇到了同样的问题。我不需要将测试目标嵌套在我的podfile中。例如:

代码语言:javascript
运行
复制
source 'https://github.com/CocoaPods/Specs.git'

use_frameworks!

target 'MyAppName' do
    pod 'RealmSwift'
    pod 'GoogleMaps'
end

target 'MyAppNameTests' do
    inherit! :search_paths
    pod 'Quick'
    pod 'Nimble'
end

target 'MyAppNameUITests' do
    inherit! :search_paths
    pod 'Quick'
    pod 'Nimble'
end

post_install do |installer|
  installer.pods_project.targets.each do |target|
    target.build_configurations.each do |config|
      config.build_settings['SWIFT_VERSION'] = '3.0' # or '3.0'
    end
  end
end

我使用的是Xcode 8.1。单击当前选择的方案。

选择“管理方案”。

Selected scheme.

选中test schemes和Quick旁边的复选标记。

再次单击您的应用程序方案。选择每个方案,然后转到Product > Build。最后,再次选择您的主应用程序方案。现在尝试在你的一个测试类中添加'import Quick‘。

Schemes

票数 4
EN

Stack Overflow用户

发布于 2020-08-05 09:19:37

已解决的问题

我也遇到了同样的问题。测试文件夹中的文件看不到Nimble和Quick pods,尽管我的Podfile配置正确,测试文件的Target成员也设置正确。我无法同时导入两个Pod。

通过CLI在项目文件夹上运行以下命令为我解决了问题。

代码语言:javascript
运行
复制
$ pod update Quick
$ pod update Nimble

我的两个pods的Podfile实现供参考:

代码语言:javascript
运行
复制
def include_test_pods
  pod 'Quick'
  pod 'Nimble'
end
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39819638

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档