New 42-day free trial Get it now
Smarty

GoConvey - (yet) another testing tool for GoLang

GoConvey features a clean DSL, comprehensive set of built-in assertions, an auto-reloading web UI and fully integrates with GoTest.
Updated October 29, 2025
Tags
GoConvey features a clean DSL, comprehensive set of built-in assertions, an auto-reloading web UI and fully integrates with GoTest.

It's now been a few months since I decided that the kind of testing tools I wanted for Go programming hadn't yet been created (or I just hadn't found them yet...). So, about 4 months ago I started work on GoConvey and a month later came the first release.

The coolest thing about GoConvey (other than the clean DSL, comprehensive set of built-in assertions, and the fact that it integrates fully with go test) is the built-in auto-reloading web UI that reports your test results to your web browser whenever a relevant file is saved (HTML5 notifications included). I've always been a fan of terminal scripts that run tests on changes but had never seen it done in the browser. Thanks to Matt at Smarty™ for turning that idea into a reality that was even more fun to use than I initially thought.

Since the initial release a lot has been improved. Here's a summarized listing:

Web UI

  • You can now ignore folders from the web UI
  • Complete folder listing on left
  • More reliable diff views
  • Browser/HTML5 notifications
  • invoke tests manually (click refresh button)
  • Failures now display 'story' context
  • "Busy" indicator when tests are running
  • Audio easter egg (can you find it?)
  • Bug fixes
  • Coverage reports (for those using Go version 1.2+)

Web server

  • Completely rewritten (with full test coverage--using GoConvey!)
  • Stability improvements
  • Configure number of concurrent testing goroutines
  • Lots of bug fixes

Core updates

  • Go 1.2 support
  • OS X Mavericks terminal support
  • Easier installation; just one go get -t command
  • New ShouldBeZeroValue assertion
  • Bug fixes

While there are many things I'd like to do to improve GoConvey I'm really proud of it for now. Thanks also go to the Gopher Academy Blog for publishing our guest post in its recent Go Advent listing (and thanks again to Matt for writing the article!). I plan on publishing several more posts about how to get the most out of GoConvey to drive the development of your software systems. Stay tuned...

Subscribe to our blog!
Learn more about RSS feeds here.
Read our recent posts
Verification update: Add provisional addresses to Smarty’s database
Arrow Icon
With the launch of our latest product feature, US Provisional Address Manual Process, US Address Verification users can now submit new or missing addresses, and we’ll verify them against authoritative databases and add any approved records to our database. Better yet, you won’t need to make any integration changes to see your addresses in your API results, it won’t take longer than 30–60 days, and it won’t cost you anything extra. That’s what we call an all-around win!Let us take the stress of verifying new or missing addresses off your plate so you can focus on what you do best.
Functional options pattern in Go: Flexibility that won’t make future-you sigh loudly
Arrow Icon
SDK authors live in a permanent tug-of-war:Users want a simple constructor they can paste and ship. Maintainers want room to grow without breaking everybody’s build on the next release. That second part matters a lot right now, because a lot of people are still relatively early in their software careers. Approximately one in three developers has coded professionally for four years or less. That matters because unclear or fragile APIs disproportionately hurt newer developers—they don’t have scars yet.
Ambiguous address matches: What they are and why compliance teams should care
Arrow Icon
If you’ve ever run into an address that seems to exist in more than one place, congratulations—you’ve discovered the world of ambiguous address matches. They’re the Schrödinger’s cat of location data: valid, yet potentially two distinct locations. This blog will focus on a few key things: What are ambiguous address matches?Why ambiguous address matches matter for compliance and customer serviceHow to handle matches with address ambiguityWhy you should inform your customers of ambiguous address matchesOur final thoughts on ambiguous address matchesWhat are ambiguous address matches?An ambiguous address match occurs when an entered address resolves to two or more valid locations with slight but meaningful differences.

Ready to get started?