- Что такое Foundry? Для чего используют forge, anvil, cast?
- Чем Foundry отличается от Hardhat?
- Как forge управляет зависимостями библиотек в проекте?
- Что такое remapping dependencies?
- Как можно дебажить вместе с Foundry?
- Какими способами можно деплоить контракты с Foundry?
- Как в Foundry реализовать процесс тестирования контракта? Что такое Forge Std библиотека? Для чего она нужна?
- Какие префиксы бывают у имен тестовых функций?
- Будет ли протестирована функция если указать ее видимость как internal или private?
- Можно ли использовать вспомогательные контракты для хранения функций и переменных применяемые при тестировании? Как это сделать?
- Что делает функция setUp()? Она обязательная?
- Что такое cheatcodes и для чего они нужны? Назови cheatcode для каждой ситуации:
- Вызов функции от имени другого адреса?
- Проверить, что функция возвратить ошибку?
- Проверить, что функция генерирует ивент? Расскажи про boolean параметры в cheatcode vm.expectEmit(topic1, topic2, topic3, topic4). Что за topic и для чего они нужны?
- Как работают cheatcodes vm.roll и vm.warp?
- Поддерживает ли Foundry Fork testing? Какие есть способы?
- Что такое Fuzz Testing? Для чего это может быть полезно?
- Что такое Invariant Testing?
- Что такое Differential Testing?
- Как тестировать подписи сообщений?