为什么 Xcode 找不到我的单元测试应用程序?
Why can't Xcode find my App for Unit Tests?
我在 iOS 方面相当缺乏经验。我想为我的 Cocoapods 项目编写单元测试。
我要测试的 ViewControllers 在 Pods 中。当我想写一个单元测试时,我已经收到一条错误消息
import MyApplication
这表示
No such module 'MyApplication'
请注意,我使用 "MyApplication" 只是代替我在图片中用红色划掉的原始名称。
有什么问题?
编辑:
我的测试代码class:
import UIKit
import XCTest
import Pods_MyApplication_Example
@testable import Pods_MyApplication
class Tests: 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.
XCTAssert(true, "Pass")
}
func testPerformanceExample() {
// This is an example of a performance test case.
self.measure() {
// Put the code you want to measure the time of here.
}
}
}
要创建测试目标,我在测试导航器上单击“+”,然后选择 'New Unit Test Target'
如有遗漏,敬请谅解。有的话我会补充的!
EDIT2:更改了可能提供更多信息的图片
您必须使用 @testable import
导入您的应用模块以进行单元测试。您必须提供应用程序目标的名称 Pods_MyApplication_Example,而不是项目的名称。在您的示例中,它将如下所示:
@testable import Pods_MyApplication_Example
并删除导入应用程序目标的导入语句。
感谢您的回复。我必须将要测试的 Plugin/Application 添加到我的 Podfile 中的测试目标。所以 Podfile 看起来像这样:
use_frameworks!
target "MyApplication_tests" do
pod 'MyApplication', :path => '../'
end
在 运行 pod update
之后,我可以导入并测试我的应用程序。
我在 iOS 方面相当缺乏经验。我想为我的 Cocoapods 项目编写单元测试。
我要测试的 ViewControllers 在 Pods 中。当我想写一个单元测试时,我已经收到一条错误消息
import MyApplication
这表示
No such module 'MyApplication'
请注意,我使用 "MyApplication" 只是代替我在图片中用红色划掉的原始名称。
有什么问题?
编辑:
我的测试代码class:
import UIKit
import XCTest
import Pods_MyApplication_Example
@testable import Pods_MyApplication
class Tests: 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.
XCTAssert(true, "Pass")
}
func testPerformanceExample() {
// This is an example of a performance test case.
self.measure() {
// Put the code you want to measure the time of here.
}
}
}
要创建测试目标,我在测试导航器上单击“+”,然后选择 'New Unit Test Target'
如有遗漏,敬请谅解。有的话我会补充的!
EDIT2:更改了可能提供更多信息的图片
您必须使用 @testable import
导入您的应用模块以进行单元测试。您必须提供应用程序目标的名称 Pods_MyApplication_Example,而不是项目的名称。在您的示例中,它将如下所示:
@testable import Pods_MyApplication_Example
并删除导入应用程序目标的导入语句。
感谢您的回复。我必须将要测试的 Plugin/Application 添加到我的 Podfile 中的测试目标。所以 Podfile 看起来像这样:
use_frameworks!
target "MyApplication_tests" do
pod 'MyApplication', :path => '../'
end
在 运行 pod update
之后,我可以导入并测试我的应用程序。