2017-02-12 118 views
-1

在Java中,斷言只有在啓動時執行java參數時纔會執行。 Node.js中是否存在類似的斷言選項?據我瞭解,斷言不應該用於生產代碼。相反,應該採用標準的錯誤處理機制。關閉生產中的Node.js/JavaScript斷言

+2

你必須指定你在說什麼樣的斷言。除了環境本身可能提供的內容外,語言本身並沒有斷言。你的意思是'console.assert()'? – JJJ

+0

@JJJ,我使用的是https://www.npmjs.com/package/assert。我想這個軟件包確實只適用於測試。也許我不得不寫一些自定義的東西來鏡像Java斷言功能,並打開或關閉它。 – user994165

回答

0

如果您使用像assert這樣的模塊,那麼您可以使用mock-require這樣的模塊關閉斷言,方法是將空函數替換爲實際的assert函數。

但是,在您自己的模塊中抽象出可能會測試process.env.NODE_ENV的斷言並且如果它等於"production"將不會運行斷言(如果這是您想要的)會更優雅。

雖然您需要考慮是否真的是你想要的,因爲它可能會隱藏某些類型的錯誤。