New 42-day free trial
Smarty

Testing in Go by Example: Part 6

Smarty header pin graphic
Michael Whatcott
Michael Whatcott
 • 
September 25, 2017
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 icon
Subscribe Now
Read our recent posts
Ecommerce shipping efficiency tools you need: Address autocomplete and verification
Arrow Icon
We know it’s not New Year's anymore, but we can still push for improvement and efficiency in our lives. Maybe you’ve lapsed on that goal to be healthier or slightly slipped on your new reading and writing regimen. No worries. Not only are we here to remind you to KEEP GOING on whatever goals you have, but we’re also here to give you an easy-to-implement solution that will create shipping efficiency and stop sending packages into the void. I mean, we’re assuming you don’t like wasting money. If you do… that’s how we’re different.
Patient form optimization: The $17.4 million problem
Arrow Icon
Let's start with a number that should make every hospital administrator do a double take: $17. 4 million. That’s how much the average hospital loses annually—just from denied claims due to patient misidentification. This isn’t from equipment costs, not from staffing shortages, and not even from insurance negotiations—just from keeping bad patient data. Surely, our forms aren’t that bad. (Yes, they are, and stop calling me Shirley. )But here’s the reality: According to the 2016 Ponemon Misidentification Report, 30% of hospital claims get denied, and over a third of those denials are caused by inaccurate or incomplete patient information.
The GPS adventures of a distracted developer
Arrow Icon
My name is Jeffrey Duncan, and at the pestering of Smarty’s editor, I’m writing a blog about the many adventures I’ve had in life and how address data has played a big part in them. I met my wife about eight years ago on a dating website. At the time, I lived in Provo, Utah, while she lived in Palmwoods, Australia, on the east coast of Queensland. On this dating app, I entered the area where I was interested in finding someone, about a 25-mile radius of Provo, Utah. I had no intention of leaving the valley, definitely not the state, and certainly not the country.

Ready to get started?