如何在XCTest for Swift中导入模型

时间:2015-09-12 14:47:05

标签: ios swift xctest

我试图在swift中构建我的第一个非教程应用程序,并在测试中使用trobule。

我创建了一个User: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" )
    }

}

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

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

*我正在使用Swift 1.2和Xcode 6

1 个答案:

答案 0 :(得分:2)

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

我发现这2篇博文发表了关于这个的很好的解释

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

以及此question