▲ | jessekv 7 days ago | |
I think it's relative, right? That's how abstractions and interfaces work. I can write a module with integration tests at the module level and unit tests on its functions. I can now write an application that uses my module. From the perspective of my application, my module's integration tests look like unit tests. My module might, for example, implicitly depend on the test suite of CPython, the C compiler, the QA at the chip fab. But I don't need to run those tests any more. In your case you hope the in-memory database matches the production one enough that you can write fast isolated unit tests on your application logic. You can trust this works because something else unit-tested the in-memory database, and integration tested the db client against the various db backends. |