Solidity

摩卡、華夫餅和柴的周邊

  • January 20, 2021

這是我所理解的(如果我錯了請告訴我):

  • Mocha (mochajs.org) 是一個測試框架
  • Waffle (getwaffle.io) 是另一個測試框架
  • chai:這不是一個框架,這是一個包含斷言助手的庫
  • openzeppelin-test-helpers:這不是一個框架:這只是助手。其中一些助手正在呼叫 chai helpers

Mocha 和 Waffle 的語法非常相似,看起來像這樣:

describe(... it('...) =>  ...)

有一點我不明白:看看這個項目:

https://github.com/aave/protocol-v2/blob/master/package.json

我可以看到 mocha 和 waffle 的依賴關係。

如何使用 2 個測試框架?

謝謝

雖然 Waffle 和 Mocha 都是測試框架,但它們用於不同的事情。

  • Mocha 執行您的測試,如 , 等定義的describe那樣it
  • Chai 斷言您的測試中的值是正確的。( expect, assert)
  • Waffle 提供了用於編譯和部署合約的工具、用於測試合約的函式、合約模擬、額外的 Chai 斷言等。除了 Mocha(以及其他測試執行器,如 Jest)之外,它還可以使用,Waffle 本身並不執行測試。

引用自:https://ethereum.stackexchange.com/questions/92520