GithubHelp home page GithubHelp logo

discover's Introduction

discover

Discover is a utility to aid in conceptualizing large Go code bases. It is based on the idea presented by Alan Shreve in his talk on conceptualizing large software systems, held at dotGo 2015 in Paris. Watch the video for more information.

It does this by taking a code coverage profile generated by "go test" and using it to trim the source code down to the blocks that were actually being run.

Installation

Simply run go get github.com/eandre/discover/...

Examples

Run tests and output to console

discover test

Run a single test and output to console

discover test TestMyTestName

Run all tests starting with "TestFoo"

discover test TestFoo

Run all tests and write the output to ./foo

discover -output=./foo test

Parse an existing cover profile and write the output to ./foo

discover -output=./foo parse my-cover-profile.cov

Tips

If you want to track changes between two tests, write the output to a directory, and then use git to track the changes:

# Run first test
discover -output=/tmp/example test TestFirst
cd /tmp/example
git init && git add -A && git commit -m "First"
cd -

# Run second test
discover -output=/tmp/example test TestSecond
cd /tmp/example
git diff

discover's People

Contributors

eandre avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.