Writing tests in JavaScript

  1. The structure of a JavaScript-based test is very similar to a Mocha-based test. The difference lies in the fact that Truffle has an extra contract() function. This method works like describe() in Mocha, except it creates a new instance of the contract:
contract('TokenContract', function() {    // Write tests});

Truffle uses the clean room feature while running tests. This feature redeploys the contract before executing the contract() method in tests. This ensures that you have a fresh set of contracts to test against. You can still use describe() to run tests without the clean room feature.

  1. The contract() function also provides the list of accounts in the Ethereum client, which you can use to write tests:
contract('TokenContract', ...

Get Ethereum Cookbook now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.