web3-testing
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.
Installation
Pick a client and clone the repository into its skills directory.
Installation
About this skill
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.
How to use
Zainstaluj umiejętność w swoim projekcie agenta, dodając referencję do web3-testing w konfiguracji.
Skonfiguruj plik hardhat.config.js — ustaw wersję Solidity (np. 0.8.19), włącz optymalizator, dodaj sieci testowe (Goerli, Sepolia) oraz zmienne środowiskowe dla RPC URL i kluczy prywatnych.
Przygotuj fixture do testów — zdefiniuj funkcję deployTokenFixture (lub analogiczną dla twojego kontraktu), która zwraca instancję kontraktu i konta testowe za pomocą ethers.getSigners().
Napisz testy jednostkowe w pliku test/*.js — użyj describe() i it() z biblioteki Chai, importuj loadFixture i time z hardhat-network-helpers, testuj funkcje kontraktu i sprawdzaj oczekiwane wyniki.
Uruchom testy poleceniem npx hardhat test — narzędzie automatycznie raportuje pokrycie kodu, zużycie gazu (jeśli włączysz gasReporter) i wyniki każdego testu.
Dla testów integracyjnych i realistycznych scenariuszy włącz forking mainnet w konfiguracji — ustaw blockNumber i URL RPC, aby testować interakcje z rzeczywistymi kontraktami na sieci.