3

私は現在、取り組んでいる OSX フレームワークのごく一部のテストを書いています。テストは、パッケージQuickNimble. テスト自体は非常に基本的なものです。

class OrderbookTestKraken: QuickSpec {
    let kraken = Kraken()

    override func spec() {
        let coin = Coin(name: "DOGE", ask: 0.0, bid: 0.0, last: 0.0, bidSize: 0.0, askSize: 0.0)
        describe("When an order book is requested") {
            it("it should create an orderbook successfully") {
                self.kraken.getOrderbook(coin: coin) { (error, orderbook) in
                    expect(orderbook).notTo(beNil())
                }
            }
        }
    }
}

そして、実行するたびに、テストは即座にパスします。ありますが:

1)getOrderbook私のKrakenインスタンスのメソッドのブレークポイント。2)ステートメントで使用されている変数でnil返されます。orderbookexpect

メソッドは次のgetOrderbookようになります。

func getOrderbook(coin: Coin, onCompletion: @escaping (Error?, Orderbook?) -> Void) {
    Alamofire.request("\(publicApiUrl ?? "")/Depth",
        method: .get,
        parameters: ["pair": "\(coin.name)XBT", "count": 3],
        encoding: URLEncoding.default,
        headers: nil).validate().responseJSON { response in
        // There's a breakpoint here.
        onCompletion(nil, nil)
    }
}

したがって、常にnilコールバックに戻り、トリガーされていないブレークポイントがありますが、テストは常に成功します。穴居人のデバッグを試み、Alamofireリクエストの上にブレークポイントを配置すると、ブレークポイントがトリガーされました。

これは既知の問題ですか、それとも私が監視しているものですか?

ありがとう。

4

1 に答える 1