簡體   English   中英

茉莉花-“無法讀取未定義的拋出屬性'subscribe'”

[英]Jasmine - “Cannot read property 'subscribe' of undefined thrown”

我剛剛開始使用Jasmine為現有的Angular應用編寫單元測試,大約有50%的時間,我得到以下錯誤:

Chrome 72.0.3626(Mac OS X 10.14.3)錯誤{“消息”:“ afterAll \\ n未捕獲TypeError中引發了錯誤:無法讀取未定義拋出的屬性'subscribe'”,“ str”:“發生了錯誤afterAll \\ nUncaught TypeError:無法讀取未定義拋出的屬性“ subscribe””} Chrome 72.0.3626(Mac OS X 10.14.3):執行131之148(1 FAILED)錯誤(51.175秒/ 50.533秒)

在此處輸入圖片說明

在其他50%的時間中,所有測試均通過且沒有任何問題。

此錯誤消息的主要問題在於,Jasmine不會告訴我問題出在哪里,而如果我在我的任何測試中expect(true).toBe(false)例如expect(true).toBe(false) ,那么Jasmine就會告訴我expect(true).toBe(false)在何時何地expect(true).toBe(false)失敗。

我如何找到此錯誤的來源? 有人遇到過茉莉花不一致的地方嗎?

感謝您的所有幫助!

經過數小時的挖掘,終於解決了該問題。

karma.conf.js random標志設置為false之后,控制台中的錯誤消息開始變得更加有意義。

module.exports = function(config) {
  config.set({
    client: {
      jasmine: {
        random: false
      }
    }
  })
}

在我們的案例中,我們的測試之一由於未正確處理其中一個組件中的異步調用而失敗。 刪除該測試可解決不一致問題。

即使控制台中的消息仍然無法查明錯誤的始發者,它也至少能夠顯示錯誤來自的組件/測試套件。

暫無
暫無

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

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