This one sounds really fancy, but the idea is simple.

If your function depends on another class, rather than initialize a new instance of that class within your function you have the instance get passed in instead. Or, one might say, the function’s dependency gets “injected” (passed in).

You’ll use this in your tests any time you want to test a function isolated from what happens inside the dependency. (e.g. Instead of hitting a production database, you can use a test database that’s just in memory)