# smartystreets/goconvey

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/smartystreets-goconvey).**

8,415 stars · 557 forks · Go · NOASSERTION

## Links

- GitHub: https://github.com/smartystreets/goconvey
- Homepage: http://smartystreets.github.io/goconvey/
- awesome-repositories: https://awesome-repositories.com/repository/smartystreets-goconvey.md

## Description

GoConvey is a behavioral testing framework for the Go programming language that provides a test runner, a code coverage tool, and a web-based monitoring dashboard. It integrates with the standard Go test command to organize tests into behavioral stories and conveyors.

The project features a web interface that monitors the file system for source code changes and automatically triggers test execution to provide real-time feedback. This dashboard displays test results, failures, and a chronological history of execution status.

The framework includes a state assertion system for verifying values and behaviors, as well as a coverage analyzer that calculates package-level statistics and generates HTML reports. Additionally, it provides a command-line interface for executing test suites and a utility for generating test stubs from natural language descriptions.

## Tags

### Testing & Quality Assurance

- [Go Testing Frameworks](https://awesome-repositories.com/f/testing-quality-assurance/go-testing-frameworks.md) — Provides a comprehensive behavioral testing framework specifically designed for the Go programming language.
- [Code Coverage Analysis](https://awesome-repositories.com/f/testing-quality-assurance/code-coverage-analysis.md) — Calculates package-level statistics and generates reports to identify unexercised parts of a Go codebase.
- [State Assertions](https://awesome-repositories.com/f/testing-quality-assurance/general-testing-utilities/test-utilities-assertions/assertion-extensions-modes/asynchronous-interaction-utilities/element-state-assertions/state-assertions.md) — Implements a conveyor pattern to verify sequences of state transitions and value comparisons.
- [Behavior-Driven Testing](https://awesome-repositories.com/f/testing-quality-assurance/testing-best-practices-methodologies/quality-assurance-practices/testing-methodologies/behavior-driven-testing.md) — Provides a framework for organizing Go tests as behavioral stories to prioritize user-visible outcomes.
- [Test Reporters](https://awesome-repositories.com/f/testing-quality-assurance/general-testing-utilities/test-reporters.md) — Provides a responsive web interface that automatically updates test execution status as code changes. ([source](https://github.com/smartystreets/goconvey/blob/master/README.md))
- [Code Coverage Reportings](https://awesome-repositories.com/f/testing-quality-assurance/software-testing/test-execution-orchestration/code-coverage-reportings.md) — Provides detailed HTML reports that visualize which parts of the codebase are exercised by tests. ([source](http://smartystreets.github.io/goconvey/))
- [CLI Test Runners](https://awesome-repositories.com/f/testing-quality-assurance/software-testing/testing-frameworks/test-frameworks/execution-and-infrastructure/test-execution-runners/cli-test-runners.md) — Ships a command-line utility for executing test suites and reporting narrative outcomes. ([source](https://github.com/smartystreets/goconvey#readme))

### Development Tools & Productivity

- [Visual Test Runners](https://awesome-repositories.com/f/development-tools-productivity/developer-utilities-libraries/workflow-productivity-enhancers/developer-productivity-utilities/developer-experience/interactive-debugging-testing/visual-test-runners.md) — Provides a web-based interface for real-time feedback and visualization of test execution results.
- [Live Feedback Loops](https://awesome-repositories.com/f/development-tools-productivity/live-feedback-loops.md) — Automatically runs tests upon saving files and displays live results in a browser for immediate iteration.

### Web Development

- [Test Dashboards](https://awesome-repositories.com/f/web-development/web-automation-scraping/web-scraping-automation/browser-automation/visual-browser-monitoring/test-dashboards.md) — Offers a browser-based dashboard for monitoring real-time test results and failures.

### Part of an Awesome List

- [HTML Visualizations](https://awesome-repositories.com/f/awesome-lists/devtools/code-coverage/html-visualizations.md) — Translates Go coverage profiles into visual HTML reports that highlight unexercised code paths.
- [Frameworks and Libraries](https://awesome-repositories.com/f/awesome-lists/devtools/frameworks-and-libraries.md) — Behavioral testing tool with browser integration for Go.

### Software Engineering & Architecture

- [Test-Driven Development Workflow](https://awesome-repositories.com/f/software-engineering-architecture/test-driven-development-workflow.md) — Supports iterative TDD with a live-updating web interface that tracks test history and current status.

### System Administration & Monitoring

- [Test Triggering Monitors](https://awesome-repositories.com/f/system-administration-monitoring/filesystem-change-monitors/test-triggering-monitors.md) — Includes a filesystem monitor that automatically triggers test re-runs upon detecting source code changes.
