Truffle
如何使用內置調試器調試松露測試
所以我想在松露中使用命令行調試器。
為了測試我只是執行
truffle test
我有一個空的 truffle.js 文件。
我可以在 javascript 測試中獲取我的交易 ID。當我執行時:
truffle debug 0xce1bc402758bd7b6995d82430214c283967371ade97b01bd46e1fe074ea0a4c2
我得到:
Error: No network specified. Cannot determine current network.
我猜這是因為在測試執行後鬆露關閉了測試網路?
我知道我可以使用 testrpc,但它給我帶來了很多問題。
有沒有辦法在他們新的內置測試框架中使用 truffle 調試?
謝謝
編輯 在嘗試使用 testrpc 時,我在每個測試案例之後都會收到此錯誤消息:
Error: VM Exception while processing transaction: revert
這是我的 truffle.js
module.exports = { networks: { development: { host: "localhost", port: 8545, network_id: "*", // Match any network id gas: 6712388 } } };
但是當我註釋掉開發網路時,松露預設為“測試”網路,一切正常。
編輯2我應該注意到我的測試需要大量的氣體。所以我猜測恢復是因為預期存在的物體不是因為我沒有足夠的氣體來部署它。我嘗試增加 truffle.js 中的氣體限制,但由於其他一些錯誤而失敗……
有一個名為“truffle.js”的文件。在此文件中,您必須指定要使用的網路。
此外,在執行命令時,您可以指定要使用的網路:
更多資訊在這裡
- 使用
ganache-cli
, 的繼承者(有關詳細資訊,testrpc
請參見此處)- 執行
ganache-cli
如下:ganache-cli –port=8545 –gasLimit=0xfffffffffff –account=0x0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef,100000000000000000000000000000000000000
如果您在測試中需要多個帳戶,則只需添加所需數量的帳戶
--account=...
(以空格分隔),並為每個帳戶使用不同的密鑰。