在我当前的设置中,我只有一个用于域对象的构造函数(并且希望保持这种方式)。假设我的班级是这样的:
class Person: FIRDataObject //my custom class
let name: String
let age: Int
required init (snapshot: FIRDataSnapshot) {
self.name = snapshot.json["name"].string
self.age = snapshot.json["age"].int
}
现在我想考我的课。但我找不到任何方法从测试中实例化新的FIRDataSnapshot。前女友我想要些
class PersonTest: XCTest
test_create_person() {
let snapshot = FIRDataSnapshot("{name: "Kim", "age", 33}") <-- I want something like this
let person = Person(snapshot: snapshot)
XCTAssertEqual(...)
}
有人知道怎么做吗?
最佳答案
我通过子类化FIRDataSnapshot找到了一种方法(使用SwiftyJson,但这是可选的)。如果你找到更好的,请告诉我:
class PersonTest: XCTest
test_create_person() {
let person = Person(snapshot: FIRPersonDataSnapshot())
XCTAssertEqual(person.name, "Kim")
}
class FIRPersonDataSnapshot: FIRDataSnapshot
override var value : Any? {
let json: JSON = [
"name": "Kim",
"age": 33,
]
return json.dictionaryObject
}
关于ios - 在Swift中测试FIRDataSnapshot,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42385457/