在目标中,类不止一次链接

Bła*_*żej 7 xcode unit-testing realm ios swift

我有两个目标appappTests.我还有类Wine和框架Realm以及与这两个目标相关联的'RealmSwift'.当我Wine在traget中使用class时没有异常app.

但是,当我想运行测试时

appTests.swift(22行)

import UIKit
import XCTest
import RealmSwift

class appTests: XCTestCase {
func testRealmAdd() {
         NSFileManager.defaultManager().removeItemAtPath(Realm.defaultPath, error: nil)
        let realm = Realm()
        let wine = Wine() // when error occure
        wine.photo = "photo"
        wine.desc = "description"
        wine.raiting = 3.0

        realm.write { () -> Void in
            realm.add(wine)
        }

        let result = realm.objects(Wine)
        print("\(result)")
        XCTAssertTrue(result.count == 1, "There should be one element")
    }
}
Run Code Online (Sandbox Code Playgroud)

Wine.swift(10行)

import UIKit
import RealmSwift

class Wine: Object {

    dynamic var desc: String = ""
    dynamic var photo: String = ""
    dynamic var raiting: Double = 0

}
Run Code Online (Sandbox Code Playgroud)

然后在第8行出现异常 appTests.swift

具有相同名称的RLMObject子类不能在同一目标中包含两次.请确保'Wine'仅与您当前的目标相关联一次.

我已经清楚了DerivedData和项目.你能建议我应该在哪里看吗?

在nhgrif评论之后编辑

好吧,看起来事先在第7行中出现了异常.现在由于nhgrif而在代码中标记了.

Tho*_*yne 2

Wine.swift应该只在app, 而不是appTests。将其包含在两个类中appTests会产生两个名为Wine(app.WineappTests.Wine) 的类,这不是 Realm 支持的。只要Winepublic(或在 Swift 2.0 中为@Testable),您就可以从 访问它,appTests而无需将其包含在目标中,appTests因为.appTestsapp