It’s a basic principle of testing that minimizing dependencies will make you happier, faster, and more productive.
But what happens when you can’t?
If your code plugs into or extends another gem, comfortable isolation might be out of the question. Stubbing and careful design can carry you a ways, but eventually you need to actually test your code against those gems you’re building on.
Luckily, there are ways to reduce this pain. We’ll dig deep on creating a simple environment to check your work against multiple dependencies. We’ll see patterns that help avoid pulling your hair out when those dependencies change. We’ll even search around the raw edges, examining how to verify what your code does when it lands in an environment you haven’t tested.
There’s a multitude of gems out there to build on. Let’s see how we can test with them!