如何在 Swift 的 XCTest 中导入模型

How do I import a model in a XCTest for Swift

我试图在 swift 中构建我的第一个非教程应用程序并且遇到了测试问题。

我创建了一个用户:NSObject

//
//  User.swift

import UIKit

public class User: NSObject {
    var name: String
    var image: UIImage?

    init(name: String, image: UIImage?) {
        self.name = name
        self.image = image
    }
}

并根据Apple Swift testing Documentation

进行测试
//
//  LocalTalkTests.swift

import UIKit
import XCTest

class LocalTalkTests: XCTestCase {
//   https://developer.apple.com/library/prerelease/ios/referencelibrary/GettingStarted/DevelopiOSAppsSwift/Lesson6.html#//apple_ref/doc/uid/TP40015214-CH20-SW1 

    func testUserInitialization() {
        let potentialUser = User(name: "Newest meal", image:nil)
        XCTAssertNotNil(potentialUser, "User can't be nil" )
    }

}

我不明白用户对象是如何在测试中被知道的。我在之前的项目中使用了 Objective-C 并且只使用了 #import "file.h 关键字。

如何确保我可以在测试中使用此对象,或者至少使其 public 面向?

*我正在使用 Swift 1.2 和 Xcode 6

原来我需要做的就是将我的项目添加到我的测试目标。

我发现这 2 个博客 post 对此有很好的解释

http://natashatherobot.com/swift-unit-testing-tips-and-tricks/ http://www.andrewcbancroft.com/2014/07/22/swift-access-control-implications-for-unit-testing/

还有这个question