Well its a Runtime error, it won't be triggered by the DI builder because the factory lazy loads the stuff.

I think my reasoning was that this is an error that could be used by more than one class, and in other classes multiple exceptions could be thrown for different errors, so to unit test that we need to ensure that the correct exception is thrown rather than expecting a RuntimeException which could come from the wrong error.