Webinar
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.
Jonathan Oliver
Jonathan Oliver
 • 
December 26, 2013
Tags

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.
rss feed iconSubscribe Now
Read our recent posts
Inside Smarty® - Caroline Roweton
Arrow Icon
We’ve said it once, and we’ll say it a zillion more times—nobody puts the “care” in Caroline as Ms. Roweton does! Often referred to as the chill vibes chick around the office, Caroline has a calming presence (unless she’s pulling some seriously rad pranks like stealing Randy Buttons in the dark of night and holding him hostage for days). As an Associate Product Manager, Caroline is responsible for researching and defining Smarty’s international products. She also performs competitive research, communicates with customers, gathers and prioritizes feature requests from them, supports sales through custom deals and pricing, and is pretty much just a superhero.
Boo! Scary street names in horror movies
Arrow Icon
If you’re here, you appreciate a good horror movie, especially around Halloween time. There are many different subgenres of scary movies: slasher, found footage, psychological horror, supernatural horror, monster, folklore, zombie, gothic fiction, paranormal fiction, and the list goes on and on for a frighteningly long time. One thing all horror movies have in common is a scary setting. Maybe the trees are creepy and dead. Perhaps the house is rotting from the inside out. Sometimes, the location has historical significance with real and traumatic events.
Standardizing country information: Easier said than done
Arrow Icon
At first glance, standardizing country information seems like a straightforward task. After all, how complicated can it be to manage country codes and names? However, once you start diving into the complexities—multiple users, various languages, diacritics, and more—it becomes clear that this process is far from simple. What if Germany has a different name for France than France does because of language barriers between German and French? (They do. The name “France” in German is “Frankreich,” but “France” in French is “France.