簡體   English   中英

Jest 承諾返回未定義

[英]Jest promise returns undefined

我的代碼:

this.apiStore.fetchOrder(id).then(() => {
  alert("Success");
  // TODO - ui updates
})

玩笑測試:

  describe("order", () => {
    it("fetches the order", () => {
      const fetchOrder = jest.fn();
      const id = 100;
      expect(fetchOrder).toHaveBeenCalledWith(id);
    });
  });

但我收到以下錯誤:

無法讀取未定義的屬性“then”

關於如何解決這個問題的任何想法?

編輯1:

Fetchorder api調用定義如下

fetchOrder = (orderId) => {
    return this.fetch(
      `/api/order.json`,
      {
        method: "POST",
        body: {
          id: orderId
        },
      }
    );
  };

現在我將響應返回為

{"status":"ok"}

如果我刪除.then() => {..}則測試運行良好。 有任何想法嗎?

編輯2:后端代碼如下

def fetch_order
  render json: { status: :ok }
end

fetchOrder 函數不返回 Promise 實例,您應該檢查其實現或共享它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM