import * as React from 'react'; import { render, hydrate } from 'react-dom'; import context from 'ts/context/cov'; import Base from 'ts/components/Base'; import Content from 'ts/components/Content'; import ContentBlock from 'ts/components/ContentBlock'; import { Tabs, TabBlock } from 'ts/components/Tabs'; import Code from 'ts/components/Code'; import InlineCode from 'ts/components/InlineCode'; import List from 'ts/components/List'; import Intro from 'ts/components/Intro'; function Cov() { return (

When it comes to writing smart contracts, testing is one of the most important steps of the process. In order to quantify the robustness of your Solidity testing suite, you need to measure its code coverage.

npm install @0x/sol-trace --save

Sol-trace is a subprovider that needs to be prepended to your provider engine. Depending on your project setup, you will need to use a specific ArtifactAdapter. Sol-trace ships with the SolCompilerArtifactAdapter for use with Sol-compiler and{' '} TruffleArtifactAdapter for use with the Truffle framework. You can also write your own and support any artifact format.

{`import { SolCompilerArtifactAdapter } from '@0x/sol-trace'; // Both artifactsDir and contractsDir are optional and will be fetched from compiler.json if not passed in const artifactAdapter = new SolCompilerArtifactAdapter(artifactsDir, contractsDir);`} Truffle Custom
); } const root = document.getElementById('app'); if (root.hasChildNodes()) { hydrate(, root); } else { render(, root); }