Namespacing is implicit in swift, all classes (etc) are implicitly scoped by the module (Xcode target) they are in. no class prefixes needed
— Chris Lattner (@clattner_llvm) June 6, 2014
によると、SwiftのコードはXcodeのターゲット単位がモジュール=ネームスペースとして扱われるようです。
そのためか、Swiftのプロジェクトでテストターゲットのテストクラスからアプリターゲット内のクラスを参照・使用するには以下のようにアプリターゲット名をモジュールとしてインポートする必要があります。
// アプリターゲット名が SampleApp とする。
import XCTest
import SampleApp
class SampleAppTests: XCTestCase {
override func setUp() {
super.setUp()
}
override func tearDown() {
super.tearDown()
}
func testExample() {
let model: Model? = Model() // defined in SampleApp target (module)
XCTAssert(model != nil)
}
}
ちなみにimport SampleApp.AppDelegate
のような特定のクラスを指定しても、それはモジュールではないとしてコンパイルエラーになります。