OpenZeppelin Test Environment – Roadmap Q2 2020

Update on solidity-coverage for Test Environment.

After elaborate discussions on what is the best way to implement solidity-coverage in Test Environment, we decided to support it via a nodejs scripting. A Test Environment project will have to create a runnable nodejs script—like coverage.js—using helper methods from Test Environment itself. Script would only a few lines longs and will provide a great deal of control and flexibility over solidity-coverage. It could be used as npm script, e.g. coverage: coverage.js.
Reasons for the following design are:

  • Test Environment is a library not a framework, so it can’t and shouldn’t orchestrate running solidity-coverage.
  • Nodejs script allows independence from test runners and frameworks.
  • Test Environment can’t and shouldn’t compile Solidity files which is required for solidity-coverage.

Shortly, we’ll release a new version of Test Environment library with solidity-coverage support and a guide how to setup for your project. OpenZeppelin Contracts library will use solidity-coverage feature to generate coverage reports.

5 Likes

These are excellent news!

1 Like