OpenZeppelin / openzeppelin-test-environment

[Not actively maintained] One-line setup for blazing-fast smart contracts tests
https://docs.openzeppelin.com/test-environment
MIT License
90 stars 39 forks source link

Roadmap Q2 2020 #73

Closed ylv-io closed 3 years ago

ylv-io commented 4 years ago

We are happy to announce we are looking to expand its feature set. After careful examination of the community’s feedback and brainstorming new ideas we are pleased to present the new planned features.

Solidity Coverage

Test suites and code coverage are the bread and butter of smart contracts testing. Solidity Coverage is a well-established library for code coverage in smart contracts tests, but it is certainly a missing link in developer experience provided by Test Environment. After multiple requests by the community, we are proposing to add support for it to Test Environment. If you are tracking coverage of your contracts, let us know in this thread!

Ganache Fork

With DeFi protocols being on fire there is more and more need to test code in integration as opposed to testing in isolation. Unfortunately, recreating a mainnet environment locally can prove to be difficult. Nevertheless, Ganache provides an option to fork a chain and use it for test purposes. This approach allows running tests on other protocols such as Maker, Compound, and Uniswap without complicated local test setups. Yet another reason to test on mainnet is to make sure your upgrade process goes swiftly.

At the moment Test Environment has barebones configuration when it comes to running Ganache. We are looking at supporting the fork option as well as some other options, so you can easily run your test suite on a mainnet fork if needed.

petejkim commented 4 years ago

Awesome, we really want to switch to OZ Test Env for USDC but haven't been able to because of code coverage support. I tried pulling in your fork of ganache-core and forcibly switching solidity-coverage to latest (for 0.6 support) but still couldn't get coverage to work. Looking forward to seeing official support added soon!

Could you also add typescript definitions for OZ Test Helpers to the road map please?

frangio commented 4 years ago

I've created an issue to track this in Test Helpers. https://github.com/OpenZeppelin/openzeppelin-test-helpers/issues/122

jamesmorgan commented 4 years ago

Looking forward to the up and coming features! Are there any plans to add support for GAS coverage reports as well?

frangio commented 4 years ago

We have an issue for that in #65 and we're interested in beginning to analyze what changes would be required in Test Env.