tfr*_*377 22 unit-testing access-control ios xctest swift
我查看了很多博客,并尝试了很多东西让我的Swift单元测试在Xcode 6.0.1(或者6.1)中工作.我正在尝试访问应用程序目标中的类,所以我写了这一行:
var vc: LoginViewController!
Run Code Online (Sandbox Code Playgroud)
当然,我得到"使用未声明的类型'LoginViewController'"错误.
然后我尝试添加LoginViewController
到我的测试目标,但随后我在项目中的其他类上"使用了未解析的标识符"错误.所以我尝试将这些类添加到我的测试目标中,但我最终得到了一个看似无穷无尽的错误来源,如下面的截图:
将我的所有课程声明为公开课程会导致其他错误,这似乎是不好的做法.无论如何,在依赖于许多框架和类的Swift项目中包含单元测试?我只想从与本文中的代码完全相同的内容开始.
tfr*_*377 37
经过一番头疼并把它放在次要位置之后,我发现主要的问题是在将文件添加到测试目标成员资格时,Objective-C类仍然会抱怨.我认为这是一个旧的兼容性问题,Swift进行单元测试的新方式,但解决方案是我的测试目标不知道有一个桥接头.因此,我在测试目标的构建设置中添加了对它的引用,如下所示:
现在看似简单明了,但错误无益.没有其他我在Swift单元测试中看到的解决方案表明这可能是一个问题,但现在我知道了.
文艺青年最爱的
要使单元测试在Swift中工作,测试目标必须知道应用程序目标所知的所有内容,因此也要在测试目标中添加对桥接头的引用(如果适用).
Ant*_*ong 14
我正在使用Xcode 6.1
您需要将swift文件添加到target membership
测试目标中
hwa*_*xer 14
如果你正在使用Xcode 7,现在有一个更好的方法来处理这个问题@testable import {ModuleName}
.
只需确保要测试的模块已将构建设置Enable Testability
设置为YES
.
归档时间: |
|
查看次数: |
9626 次 |
最近记录: |