Skip to content
Coverage tool for SmartContract
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
src
test
.gitignore
LICENSE
README.md
package-lock.json
package.json

README.md

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

You can’t perform that action at this time.