我已经学习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'
的错误。
我已经做了研究,并删除豆荚,但仍然得到错误。
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
项目文件夹的屏幕截图:
9条答案
按热度按时间z9ju0rcb1#
我最近遇到了这个问题,目前的答案都没有为我解决这个问题。
我得到这个错误的原因是我创建的Test/Spec文件(NetworkSpec.swift)有一个主应用程序目标的目标成员,而不是测试目标。
为了更新这个,我在xcode中打开了这个项目,在项目浏览器中选择了这个文件,然后在右边的属性窗口中,然后在目标成员区域中,我有两个选择。
我取消选中ProjectName(不是应用的真实的名称)旁边的复选框,然后选中ProjectNameTests旁边的复选框,并重新运行测试。
0aydgbwb2#
我遇到了同样的问题。我不需要在我的podfile中嵌套测试目标。
我使用的是Xcode 8.1。请单击当前选定的方案。
选择“管理方案”。
Selected scheme.
在测试方案和快速旁边打勾。
再次点击你的app scheme。选择每个scheme并转到Product〉Build。最后再次选择你的主app scheme。现在尝试在你的一个测试类中添加“import Quick”。
Schemes
yqyhoc1h3#
问题已解决
我也遇到了同样问题测试文件夹中文件没有看到Nimble和Quick Pod,尽管我Podfile配置正确,并且我测试文件目标成员身份也设置正确我无法导入这两个Pod
通过CLI在Project文件夹上运行以下命令为我解决了问题。
我的Podfile两个pod的实现供参考:
dnph8jn44#
试试这个。椰子可能需要重建。
1.退出XCode。转到终端并通过cd进入您的项目。
1.运行分离舱。
1.运行pod安装。
1.打开Xcode,清理并构建.xcworkspaces项目。
72qzrwbm5#
我有这个问题,持续通过构建清理。我注意到它只发生在一个文件和文件没有这个问题有
import foundation
。在导入基础的前一行,然后它的工作。我想可能是简单地修改了文件,所以我删除了基础导入和错误回来了。所以尝试添加该导入,如果你没有它。yks3o0rb6#
首先,您只需要在目标项目中使用pod,这样它就可以共享给您的测试目标
之后,您可以将其导入到项目中
7gs2gvoe7#
在我的
Podfile
中,我这样使用smth:此外,重新打开项目或使用以下命令:
Product -> Clean and build folder
tp5buhyn8#
我也遇到了同样的问题。经过大量的试验和错误,我在这里找到了修复:https://github.com/Quick/Quick/issues/402#issuecomment-149459840。我不得不删除派生数据并重新生成项目以获取Quick作为构建方案
pod7payv9#
试试这个;
1.关闭xcode项目
1.运行
$ pod deintegrate
1.删除
Podfile.lock
1.运行
$ pod install
然后重新构建!