帖子
分享您的知识。
Error: Undeclared identifier 'assert' when written in the test file
I followed a tutorial for writing tests in Solidity and imported Test
from forge-std
, but I encountered an error stating 'Undeclared identifier. Did you mean 'assert'?' Here is a snippet of my code:
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.18;
import {Test, console} from 'forge-std/Test.sol';
import {FundMe} from '../src/FundMe.sol';
contract FundMeTest {
FundMe fundme;
function setup() external {
fundme = new FundMe();
}
function checkMminimumDollar() public {
assertEq(fundme.MINIMUM_USD(), 5e18);
}
}
I'm unsure why the error is occurring despite importing Test
. Any insights on resolving this issue would be appreciated.
- Solidity
答案
1It appears that you have overlooked inheriting the 'Test' contract in the declaration of the 'FundMeTest' contract. To rectify this, please ensure that the declaration is as follows:
contract FundMeTest is Test {
}
By including the inheritance of the 'Test' contract in the declaration of the 'FundMeTest' contract, you establish the relationship between the two contracts and enable the functionality provided by the 'Test' contract to be utilized within the 'FundMeTest' contract.
你知道答案吗?
请登录并分享。
Cyfrin Updraft is an education platform specializing on teaching the next generation of smart contract developers