1

クラスの 1 つをテストするために CLBeacon オブジェクトをモックする方法をオンラインで検索しています。私が見つけることができるのは、Objective-c とのみ互換性のある COMockito に関連するものだけです。

必要なのは、モック CLBeacon を作成し、メジャー マイナーと UUID の値を設定できることだけです。問題は、これらのパラメーターが読み取り専用であることです。

設定したパラメーターを使用してモック CLBeacon を作成するために何ができるかについてのアイデアはありますか?

4

2 に答える 2

2

私がいつも NSCoding を忘れている理由はわかりませんが、KVO 構文を使用して CLBeacon オブジェクトを修正することができます。最終的に、次のように CLBeacon を使用して単体テストを行いました。

    let mockUUID = NSUUID(UUIDString: uuidString)
    let testBeacon = CLBeacon()
    testBeacon.setValue(testMajor, forKey: "major")
    testBeacon.setValue(testMinor, forKey: "minor")
    testBeacon.setValue(mockUUID, forKey: "proximityUUID")
    testBeacon.setValue(CLProximity.Far.rawValue, forKey: "proximity")
于 2015-12-30T22:15:58.680 に答える