2017-09-26 90 views
3

我正在測試一個nodejs應用程序。當我運行測試時發現這個錯誤。測試腳本如下:Expect斷言類型錯誤 - > expect(...).toExist不是函數

.expect((res) => { 
    expect(res.headers['x-auth']).toExist(); 
    expect(res.body._id).toExist(); 
    expect(res.body.email).toBe(email); 
}) 

錯誤顯示:

TypeError: expect(...).toExist is not a function 

我怎樣才能解決這個問題? TIA。

+0

expect.js沒有任何稱爲'toExist()'的方法。你可以在這裏閱讀它的文檔:https://github.com/Automattic/expect.js – Svenskunganka

+2

顯示你的import/require語句。 –

+0

@Svenskunganka下面這個文檔進行測試..其他斷言工作正常 - > https://github.com/mjackson/expect – mdashikar

回答

12

期望斷言庫改變了所有權。它被交給了Jest團隊,他們以無限的智慧創造了一個新的API

您現在必須使用'toBeTruthy()'而不是'toExist()'。 您仍然可以像以前一樣安裝期望「npm install expect --save-dev」,該版本目前的版本爲21.2.1。大多數方法名稱將保持不變,除了少數(包括'toExist()')。

+0

沒有工作:/ expect(...)。 toBeTruthy()不是函數 – mdashikar

+0

btw感謝分享新的API – mdashikar

+0

其工作:)非常感謝。我使用.toContain()而不是.toInclude(),但它與預期不匹配。@AKenny – mdashikar