New 42-day free trial Get it now
Smarty

Testing in Go by Example: Part 6

Smarty header pin graphic
Updated October 29, 2025
Tags
Smarty header pin graphic

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.
Read our recent posts
Always on; always Smarty: High availability design and engineering best practices
Arrow Icon
When the digital world falters, our goal is simple: stay steady for our customers. At Smarty, reliability isn’t a bragging point, but rather a promise. We’ve built a platform designed to keep running even when others stop, using a vendor-agnostic, redundant infrastructure grounded in engineering best practices that weather disruptions with quiet consistency. Our customers depend on uninterrupted address data services. And, we take that trust seriously. And because we trust you, we’re offering a 42-day free trial on every product.
Christmas traditions around Smarty
Arrow Icon
Around the world, people celebrate Christmas in all kinds of ways. In Iceland, it’s tradition to read books by candlelight on Christmas Eve. Christmas firework shows are a staple in El Salvador. Families in Australia often spend Christmas Day playing cricket. At Smarty, we keep the season bright with a few traditions of our own. From wacky holiday decorating to gingerbread house competitions, we love taking the holidays to the next level. So stick around; things are about to get festive. Our favorite Christmas traditions are:Seasonal service projectsUpside-down holiday decorUgly Sweater DayThe Great Gingerbread House Bake OffAddy the Address ElfYuletide karaokeLetters to SantaGift-wrapping extravaganzaSeasonal service projectsWe like to celebrate the season of giving by giving back! This year, we participated in United Way's Sub for Santa program, where families—or Smartys 😉—sub in for Santa by donating gifts to local families in need.
Accessibility best practices at Smarty
Arrow Icon
An enterprise-level customer of Smarty’s recently shared how impressed they were with our accessibility-first approach, inquiring about how we designed our tools to function in a way that feels equitable and usable for everyone. At Smarty, one of our core values is outwardness — seeing people as people, not objects or caricatures. Every person who interacts with our tools has their own needs, wants, and objectives, and accessibility is one of the most meaningful ways we connect with people - an area we’re striving to improve.

Ready to get started?