OpenZeppelin / openzeppelin-contracts

OpenZeppelin Contracts is a library for secure smart contract development.
https://openzeppelin.com/contracts
MIT License
24.76k stars 11.75k forks source link

Request for the add forge testing for the openzeppelin contracts #3460

Closed atarpara closed 2 years ago

atarpara commented 2 years ago

🧐 Motivation

In today's Foundry is one of the fast and most powerfull tools for testing smart contracts.

📝 Details

Benefit of the use Foundry

  1. Foundry provides In-Built Fuzz Testing Facility.
  2. No Need to learn the Java Scripts or Chai Library.
  3. Simultaneously Running the Multiple Test Cases we can save a lot of time in testing (Long test case file).
  4. Gas Reporting Function Wise
  5. If something goes wrong we can trace the entire call

So My Question is Openzeppelin-Team Should ready to adopt the foundry? If Yes, So many Devs are happy to contribute to that.

frangio commented 2 years ago

This project has a huge existing test suite in JavaScript and migrating it to something else is a huge effort and risk. There are many incremental improvements we can make to the existing tests for whatever issues we see with them. At the moment I see no strong reasons to migrate.

Fuzzing is definitely interesting, but we should start experimenting with it before attempting to migrate the entire project.