Testing in Go by Example: Part 6

Michael Whatcott
Michael Whatcott
 • 
September 25, 2017
Even more about assertions.
Tags

For this installment of the Testing in Go series we'll be talking about a grouping of packages that facilitate general-purpose comparisons in various contexts. Since the most common context is testing it seemed like this series was the right place for the discussion.

We generally refer to these comparison functions as assertions (cue ominous background music and spooky sound effects). You may have already read the opinions found on the Golang FAQ related to assertions.

"Why does Go not have assertions?"

Go doesn't provide assertions. They are undeniably convenient, but our experience has been that programmers use them as a crutch to avoid thinking about proper error handling and reporting. Proper error handling means that servers continue operation after non-fatal errors instead of crashing...

"Where is my favorite helper function for testing?"

Go's standard testing package makes it easy to write unit tests, but it lacks features provided in other language's testing frameworks such as assertion functions. An earlier section of this document explained why Go doesn't have assertions, and the same arguments apply to the use of assert in tests.

In general, we agree that in many scenarios a single assertion failure shouldn't prevent a test from running. So, by default the assertion functions we use don't do that. Problem solved.

Subscribe to our blog!
Learn more about RSS feeds here.
rss feed iconSubscribe Now
Read our recent posts
The Meet to Learn
Arrow Icon
Interpersonal skills and how they tie to leadership, teamwork, and business growth is no cakewalk. Yet every business knows that retention of employees is largely contingent upon quality interpersonal skills. That's why so many organizations implement principles and techniques taught by the greats. I'm sure you've heard of Dale Carnegie's "How to Win Friends & Influence People", Steven R. Covey's "The 7 Habits of Highly Effective People", or maybe even "Dare to Lead" by Dr. Brene Brown.
Address Autocomplete Best Practices
Arrow Icon
Properly implemented address autocomplete can help businesses to improve conversion rates by speeding up address entry, improve address data quality by reducing typos, and reduce user frustration related to errant address data.  But, if you choose the wrong autocomplete API or make implementation errors, those benefits can evaporate. In our new ebook, "Magical Benefits of Address Autocomplete," where we've compiled valuable insights and implementation tips, including the best practices we'll cover here.
Inside Smarty - Andrew Townsend
Arrow Icon
It's often said you need two skills to find love: sales and marketing.  You need marketing skills to present yourself well and gain the attention of the person you want. Then, you need sales skills to lie like you're the devil himself.  But what if you aren't conventionally attractive and (like the sales team at Smarty) aren't willing to lie? To compensate, you'll need to dial up your marketing; we're talkin' data automation, streamlined & integrated data systems, time-saving and cost management, eliminating human error, and workflows like crazy.

The leader in location data intelligence

Ready to get started?