我目前正在尝试为我的(macOS)Xcode项目编写单元测试( NOT UI测试)。我创建了一个新的单元测试目标,它为我创建了一个空白单元测试文件。
这符合并且链接正常,但没有测试。
一旦我添加了行@testable import Pilot
,其中Pilot
是我的App Target的名称,并且我尝试编译并运行,它会失败并显示以下消息:
Linker command failed with exit code 1 (use -v to see invocation)
我已经尝试了所有可以找到的东西,但似乎没有任何效果。我在这里阅读的其他帖子在UI测试中处理了这个问题,但那是因为你无法在UI测试中使用@testable
。您应该能够在单元测试中使用它,但我无法弄清楚为什么这不起作用。
有没有人有任何见解?
如果有帮助,我的项目位于:https://github.com/RohanNagar/pilot-osx
以下是完整的PilotTests.swift
文件:
import XCTest
@testable import Pilot
class PilotTests: XCTestCase {
override func setUp() {
super.setUp()
// Put setup code here. This method is called before the invocation of each test method in the class.
}
override func tearDown() {
// Put teardown code here. This method is called after the invocation of each test method in the class.
super.tearDown()
}
func testExample() {
// This is an example of a functional test case.
// Use XCTAssert and related functions to verify your tests produce the correct results.
}
func testPerformanceExample() {
// This is an example of a performance test case.
self.measure {
// Put the code you want to measure the time of here.
}
}
}
答案 0 :(得分:4)
如果您的CocoaPods框架未包含在测试目标中。它会抛出这个错误。
我确保运行pod安装,但仍然失败了。
所以' pod deintegrate Yourproject.xcodeproj'并重新安装(pod安装),清除问题。
答案 1 :(得分:2)
导入失败,因为项目无法链接在一起。我下载了它,尝试运行它时出现以下错误:
Showing Recent Issues
ld: framework not found Realm for architecture x86_64
尝试清理您的构建文件夹,或将项目下载到新文件夹,然后解决此问题...之后您将能够编译和@testable导入Pilot。
答案 2 :(得分:1)
答案 3 :(得分:0)
"${PODS_CONFIGURATION_BUILD_DIR}/"
和recursive
选项