Solidity
摩卡、華夫餅和柴的周邊
這是我所理解的(如果我錯了請告訴我):
- 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 本身並不執行測試。