我創建了 2 個測驗——
在第二次測驗中,我[]按照官方安全帽檔案將所有者、addr1、addr2 包含在其中const [owner,addr1,addr2] = await ethers.getSigners();,但是問題是當我使用[]括號時,它顯示錯誤TypeError: Cannot read properties of undefined (reading 'equal')并且測驗也失敗了,
這是代碼--->
const { expect } = require('chai');
// const { ethers } = require('hardhat');
describe('Token contract', function () {
//1st TEST
it('Deployment should assign the total supply of the tokens to the owner', async function () {
const [owner] = await ethers.getSigners();
const Token = await ethers.getContractFactory('Token');
const hardhatToken = await Token.deploy();
const ownerBalance = await hardhatToken.balanceOf(owner.address);
expect(await hardhatToken.totalSupply()).to.equal(ownerBalance);
});
//2nd TEST
it('Should Transfer Tokens between accounts', async function () {
const [owner,addr1,addr2] = await ethers.getSigners();
const Token = await ethers.getContractFactory('Token');
const hardhatToken = await Token.deploy();
//Transfer 10 tokens from Owner to addr1
await hardhatToken.transfer(addr1.address,10);
expect(await hardhatToken.balanceOf(addr1.address).to.equal(10));
//Transfer 5 tokens from addr1 to addr2
await hardhatToken.connect(addr1).transfer(addr2.address,5);
expect(await hardhatToken.balanceOf(addr2.address).to.equal(5))
});
});
但是如果你在第一次測驗中看到,我沒有使用[], 作為所有者,所以測驗通過了。如果您想檢查代碼,以下是官方 Hardhat 檔案--->
https://hardhat.org/tutorial/testing-contracts.html
請幫我解決這個問題謝謝
在此處輸入影像描述
uj5u.com熱心網友回復:
您沒有expect正確關閉第二個測驗中呼叫周圍的括號。您正在訪問.to回傳的號碼.balanceOf。
用。。。來代替:
expect(await hardhatToken.balanceOf(addr1.address)).to.equal(10);
// ...
expect(await hardhatToken.balanceOf(addr2.address)).to.equal(5);
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/467603.html
標籤:javascript 区块链 坚固性 柴 安全帽
