Solidity
如何為基於時間的合約編寫測試?
我有一個函式需要從事件發生時間(lockTime)開始經過 7 天,然後其餘部分才會執行:
function resetGame () public onlyOwner { require (block.timestamp >= lockTime + 7 days); _; }
我如何使用 JS 和 chai 編寫測試來測試 7 天過去後,該功能是否按預期工作?
(ps 我正在使用 Hardhart 和 ethers.js)
您可以使用
evm_increaseTime
Hardhat Network ( docs ) 中提供的 rpc。await hre.ethers.provider.send('evm_increaseTime', [7 * 24 * 60 * 60]);