I don't get it either. I feel like this is so much unnecessary code, an emulator, a network stack...
Why not use something like https://testcontainers.com/? Is a container engine as an external dependency that bad?
Why not use something like https://testcontainers.com/? Is a container engine as an external dependency that bad?
I am aware of only a few settings that make a container nestle, or not, whether it is a vm, lxc/lxd type container, etc.
As soon as you have external processes that your tests depend on, your tests need some sort of wrapper or orchestrator to set everything up before starting tests, and ideally tear it down after.
In 90% of cases I see, that orchestration is done in an extremely non-portable way (like leveraging tools built in to your CI system) which can make reproducing test failures a huge pain in the ass.