Testing

在測試中使用 Fork on Hardhat

  • January 13, 2022

我在使用安全帽叉進行測試時遇到錯誤。我執行分叉節點

“npx 安全帽節點 –fork https://eth-mainnet.alchemyapi.io/v2/key –fork-block-number 13997235”

我能夠從 web3 應用程序成功查詢節點。當我嘗試使用“npx hardhat test”執行測試時,它失敗了。

測試程式碼為:

const { expect } = require("chai");
const { ethers, waffle } = require("hardhat");
const provider = waffle.provider;


it("test getting contract data from fork", async function () {
   WETH9 = await ethers.getContractFactory('WETH9')
   const WETH_address = "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2"
   weth = await WETH9.attach(WETH_address)
   console.log("rweth: " + await weth.decimals()); 
   return true;
 })  

錯誤是,

“錯誤:呼叫還原異常(method=“decimals()”,errorArgs=null,errorName=null,errorSignature=null,reason=null,code=CALL_EXCEPTION,version=abi/5.5.0)

Afaik 會hardhat test啟動他們自己的測試網路,除非您在安全帽配置中指定它。

或者,您應該能夠http://localhost:8545通過添加明確指定安全帽應該使用您的本地安全帽節點(例如)--network localhost。請參閱https://hardhat.org/hardhat-network/#running-stand-alone-in-order-to-support-wallets-and-other-software

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