Тесты с Foundry. Часть 2
Прежде всего тесты пишутся на Solidity. Если вы только начали учить блокчейн разработку, то вам не придется дополнительно изучать JavaScript, typescript и node, а это еще 3-6 месяцев дополнительного времени обучения минимум.
После того, как вы выполнили forge init в папке проекта, там появятся структура из нескольких директорий.
В lib хранятся все подключенные библиотеки (например, openzeppelin), в script можно будет найти json файл с abi контракта, в src пишутся контракты проекта, а в test - соответственно тесты.
Файлы для тестов следует называть по определённому шаблону. Например, контракт у вас под именем Day.sol, следовательно контракт для теста будет - Day.t.sol, т.е. название проекта, потом буква t, потом sol.
Открыв файл теста, мы делаем практически все также как и при написании обычного контракта. Пишем SPDX-License, pragma, импортируем библиотеку для тестов:
import "forge-std/Test.sol";
и наши контракты
import {Day} from "../src/Day.sol";
Далее нужно назвать наш контракт, как оригинальный и добавить Test, например DayTest, подключив наследование от контракта Test.sol, например:
contract DayTest is Test {}
Далее начинается самое интересное с тестами.
#foundry
Post #572
244
- 👍 2