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

时间:2015-06-23 12:31:06

标签: ios xcode swift unit-testing realm

我有两个目标appappTests。我还有课程Wine和框架Realm以及' RealmSwift'与这两个目标相关联。当我在traget Wine中使用类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")
    }
}

Wine.swift (10行)

import UIKit
import RealmSwift

class Wine: Object {

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

}

然后在appTests.swift

的第8行出现异常
  

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

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

在nhgrif评论后编辑

好的,看起来早先有一个异常在第7行上升。现在由于nhgrif而在代码中标记出来了。

1 个答案:

答案 0 :(得分:1)

Wine.swift应仅位于app,而不是appTests。在appTests中包含两个名为Wineapp.WineappTests.Wine的类的结果中包含它,这不是Realm支持的。只要Winepublic(或在Swift 2.0中,@Testable),您就可以从appTests访问它而不将其包含在appTests目标中,因为{ {1}}中的{1}}个链接。