Skip to content

Latest commit

 

History

History
66 lines (51 loc) · 1.67 KB

README.md

File metadata and controls

66 lines (51 loc) · 1.67 KB

Name

Overview

Description

Coverage Tool for SmartContract. Analayzing based on bytecodes and abi specification for functions.

Requirement

Truffle v5.0.14 or higher.

## Install
`npm install contract-coverage`

## Usage
Add following code in your truffle test cases:
```js
const CoverageSubprovider = require('contract-coverager')
const engine = CoverageSubprovider.injectInTruffle(artifacts, web3)

and define before, after hook code:

before(() => engine.start())
after(() => engine.stop())

example code overall:

const CoverageSubprovider = require('contract-coverager')
const engine = CoverageSubprovider.injectInTruffle(artifacts, web3)
const VyperStorage = artifacts.require("VyperStorage")

contract("VyperStorage", (accounts) => {
  before(() => engine.start())
  after(() => engine.stop())

  it("...should store the value 89.", async () => {
    const storage = await VyperStorage.new()

    // Set value of 89
    const receipt = await storage.set(89)
    // Get stored value
    const storedData = await storage.get()
    assert.equal(storedData, 89, "The value 89 was not stored.")
  })
})

CAUTION

if request method is eth_call, then this Lib re-request eth_sendTransaction with same params, for getting traceLogs. so that, in using this coverage tool, more gas is consumes. may out of gas error a lot of happen.

Demo

Not yet support list

  • Solidity's Contract (maybe available, but not tested)

Licence

GPLv3

Author

nakajo2011