Test smart contracts comprehensively using Hardhat and Foundry with unit tests, integration tests, and mainnet forking. Use when testing Solidity contracts, setting up blockchain test suites, or validating DeFi protocols.
82
64%
Does it follow best practices?
Impact
92%
1.19xAverage score across 6 eval scenarios
Advisory
Suggest reviewing before use
Optimize this skill with Tessl
npx tessl skill review --optimize ./plugins/blockchain-web3/skills/web3-testing/SKILL.mdHardhat unit tests with fixtures
loadFixture import
0%
100%
time import
100%
100%
Fixture function pattern
0%
100%
loadFixture usage
0%
100%
ethers from hardhat
100%
100%
chai expect
100%
100%
changeTokenBalances matcher
0%
100%
revertedWith usage
100%
100%
Event emit with args
100%
100%
time.increase usage
100%
100%
Access control test
100%
100%
Edge case coverage
100%
100%
Hardhat project config and CI/CD
hardhat-toolbox plugin
100%
100%
hardhat-etherscan plugin
0%
100%
hardhat-gas-reporter plugin
100%
100%
solidity-coverage plugin
100%
100%
Solidity version 0.8.19
0%
100%
Optimizer enabled, runs 200
100%
100%
Gas reporter USD currency
100%
100%
Gas reporter API key env var
100%
100%
Etherscan API key env var
100%
100%
Mainnet fork block number
0%
100%
Mainnet RPC env var
100%
100%
CI/CD test steps
100%
100%
Codecov upload
100%
100%
Foundry fuzz and cheatcode tests
forge-std Test import
100%
100%
Extends Test contract
100%
100%
setUp function
100%
100%
vm.prank usage
100%
100%
vm.warp or time advance
100%
100%
vm.assume in fuzz test
0%
0%
testFuzz function
100%
100%
assertEq assertions
100%
100%
vm.expectRevert usage
100%
100%
testFail function
0%
0%
Edge address cases
50%
100%
Named address variables
100%
100%
Snapshot and revert state isolation
evm_snapshot in beforeEach
0%
100%
evm_revert in afterEach
0%
100%
Single deployment / fixture
100%
100%
time.increase or time.increaseTo usage
100%
0%
State isolation verified
100%
100%
Revert test included
100%
100%
ethers from hardhat
100%
100%
chai expect import
100%
100%
Mainnet fork and account impersonation
hardhat_reset with forking
100%
100%
MAINNET_RPC_URL env var
100%
100%
hardhat_impersonateAccount
100%
100%
ethers.getSigner after impersonation
100%
100%
ethers.getContractAt for live contracts
50%
50%
Transfer via impersonated account
100%
100%
ethers from hardhat
100%
100%
Pinned block number
100%
100%
Gas benchmarking and contract verification
Deploy two implementations
100%
100%
Capture gasUsed from receipts
100%
100%
Gas comparison assertion
100%
100%
Gas values logged
100%
100%
hre.run verify:verify
100%
100%
Constructor arguments passed
100%
100%
Deployed address used
100%
100%
ethers from hardhat
100%
100%
70444e5
Table of Contents
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.