Добавление и настройка Solidity-Coverage
В уроке также упоминался npm пакет для проверки покрытия тестами вашего контракта по названием Solidity-Coverage.
Данный пакет поможет вам визуально понять, какие функции и условия уже были проверены, а какие еще нет.
Это удобно, в случае разработки больших контрактов на 500+ строк кода, когда ошибка может таиться в любом месте.
Итак, для установки пакета в консоли, в папке вашего проекта, потребуется прописать команду:
npm install --save-dev solidity-coverage
Затем следует открыть файл hardhat.config.js и в начале добавить строку:
require ("solidity-coverage")
После выполнения данных действий, вам становится доступна новая команда в hardhat
npx hardhat coverage
Также можно зайти в директорию вашего проекта -> Coverage и открыть index.html. Откроется веб страница, где вы также сможете увидеть покрытие тестами своего контракта.
#npm #coverage
В уроке также упоминался npm пакет для проверки покрытия тестами вашего контракта по названием Solidity-Coverage.
Данный пакет поможет вам визуально понять, какие функции и условия уже были проверены, а какие еще нет.
Это удобно, в случае разработки больших контрактов на 500+ строк кода, когда ошибка может таиться в любом месте.
Итак, для установки пакета в консоли, в папке вашего проекта, потребуется прописать команду:
npm install --save-dev solidity-coverage
Затем следует открыть файл hardhat.config.js и в начале добавить строку:
require ("solidity-coverage")
После выполнения данных действий, вам становится доступна новая команда в hardhat
npx hardhat coverage
Также можно зайти в директорию вашего проекта -> Coverage и открыть index.html. Откроется веб страница, где вы также сможете увидеть покрытие тестами своего контракта.
#npm #coverage
Проверка покрытия тестами
Только для пользователей Linux, как я понял, есть новый инструмент для проверки покрытия тестами какого-либо контракта с использованием команды forge coverage.
Самое интересное в нем, что вам в файле контракта будут подсвечиваться строки, для которых уже были написаны тесты и те, которые пропустили. Пример на скрине.
В этой статье можно почитать про настройку и проведение тестов.
#linux #coverage #forge #foundry
Только для пользователей Linux, как я понял, есть новый инструмент для проверки покрытия тестами какого-либо контракта с использованием команды forge coverage.
Самое интересное в нем, что вам в файле контракта будут подсвечиваться строки, для которых уже были написаны тесты и те, которые пропустили. Пример на скрине.
В этой статье можно почитать про настройку и проведение тестов.
#linux #coverage #forge #foundry
❤4
Повышаем мастерство с Forge coverage
Я уже несколько раз писал на канале, что в скором времени компании будут нанимать отдельных разработчиков для написания тестов для своих протоколов. А знания и навыки работы с Hardhat или Foundry будут стоять в описаниях вакансий с Solidity, как это сейчас с JS/React.
Вот и в этой статье рассказывается, что покрытие тестами на 100% не всегда означает, что проверены все возможные функции и линии в контракте. И разработчик должен уметь работать с отчетами покрытия, также как он работает с самими написаниями тестов.
Например, вы знали, что с foundry coverage можно запустить дополнительную команду report debug, которая покажет, какие строки и функции вы забыли протестировать?
Или, что с помощью forge coverage --report lcov можно сформировать отчет в html разметке?
Или, что, используя плагин Coverage Gutters, можно визуально в контракте увидеть код без тестов?
В общем, профессиональная команда тестировщиков должна будет выдавать отчет с абсолютным покрытием тестом и отчетом для клиента, где код будет светиться "зеленым" и везде будет 100% в таблице.
В статье даже есть репо, с которым вы можете потренироваться!
Советую всем и каждому повысить свои навыки в работе с Foundry.
#foundry #coverage
Я уже несколько раз писал на канале, что в скором времени компании будут нанимать отдельных разработчиков для написания тестов для своих протоколов. А знания и навыки работы с Hardhat или Foundry будут стоять в описаниях вакансий с Solidity, как это сейчас с JS/React.
Вот и в этой статье рассказывается, что покрытие тестами на 100% не всегда означает, что проверены все возможные функции и линии в контракте. И разработчик должен уметь работать с отчетами покрытия, также как он работает с самими написаниями тестов.
Например, вы знали, что с foundry coverage можно запустить дополнительную команду report debug, которая покажет, какие строки и функции вы забыли протестировать?
Или, что с помощью forge coverage --report lcov можно сформировать отчет в html разметке?
Или, что, используя плагин Coverage Gutters, можно визуально в контракте увидеть код без тестов?
В общем, профессиональная команда тестировщиков должна будет выдавать отчет с абсолютным покрытием тестом и отчетом для клиента, где код будет светиться "зеленым" и везде будет 100% в таблице.
В статье даже есть репо, с которым вы можете потренироваться!
Советую всем и каждому повысить свои навыки в работе с Foundry.
#foundry #coverage
🔥6