【问题标题】:Testing FIRDataSnapshot in Swift在 Swift 中测试 FIRDataSnapshot
【发布时间】:2017-02-22 07:43:55
【问题描述】:

在我当前的设置中,我的域对象只有一个构造函数(并希望保持这种状态)。假设我的班级是这样的:

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。 F.ex 我想要类似的东西

class PersonTest: XCTest

   test_create_person() {
       let snapshot = FIRDataSnapshot("{name: "Kim", "age", 33}") <-- I want something like this
       let person = Person(snapshot: snapshot)
       XCTAssertEqual(...)
   }

有人知道怎么做吗?

【问题讨论】:

    标签: ios swift firebase firebase-realtime-database xctest


    【解决方案1】:

    我通过继承 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
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-10-21
      • 1970-01-01
      • 2014-08-31
      • 1970-01-01
      • 2017-03-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多