我有两个目标app
和appTests
。我还有课程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
具有相同名称的RLMObject子类不能在同一目标中包含两次。请确保' Wine'仅与您当前的目标相关联。
我已经清楚了DerivedData和项目。你能建议我应该在哪里看看吗?
在nhgrif评论后编辑
好的,看起来早先有一个异常在第7行上升。现在由于nhgrif而在代码中标记出来了。
答案 0 :(得分:1)
Wine.swift
应仅位于app
,而不是appTests
。在appTests
中包含两个名为Wine
(app.Wine
和appTests.Wine
的类的结果中包含它,这不是Realm支持的。只要Wine
为public
(或在Swift 2.0中,@Testable
),您就可以从appTests
访问它而不将其包含在appTests
目标中,因为{ {1}}中的{1}}个链接。