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 icon
Subscribe Now
Read our recent posts
Cozy-cringe couture: Ugly Sweater Day
Arrow Icon
Just as wearing an “I voted” sticker has a time and a place, so too does the ugliest sweater you own. That’s right. It’s that time magical time when otherwise sensible adults deliberately dress like their grandmother's couch had a love child with a craft store explosion. The beauty of Ugly Sweater Day lies in its delicious irony – the more you fail at fashion, the more you succeed at the holiday. It's the only day of the year when "Where did you get that hideous thing?" is a genuine compliment.
Be an address ninja
Arrow Icon
We love ninjas!Yes, we do!We love ninjas!How about you? crickets We know they’re out there. BUT TODAY IS THEIR DAY, so even though these sneaky, highly-trained martial artists aren’t going to join our cheering throngs, we’ll celebrate them on National Day of the Ninja. Why?Because we’re ninja masters (sort of). We’re really good at solving every address issue just like we believe our fellow shadow warriors would—silently running in the background, solving challenges with unparalleled speed and accuracy.
EigenRisk® adds Smarty’s location intelligence resources to its global CAT risk management platform
Arrow Icon
We're happy to announce a recent partnership with EigenRisk, an insurance technology firm. Below, you will find the announcement they published on their site:ANN ARBOR, MI, December 05, 2024—EigenRisk®, a leading provider of catastrophe risk management solutions, today announced a new agreement with Smarty, a preeminent provider of address data solutions. The agreement will make Smarty’s address location intelligence and geocoding resources available through the EigenPrism® catastrophe risk management platform.