4 ms·
How do you test? One of the things you get with dependency injection is a method to replace dependencies with other objects specifically to do thing like unit t
by bluejekyll 7y ago
How do you test? One of the things you get with dependency injection is a method to replace dependencies with other objects specifically to do thing like unit testing with mocks or integration testing with objects that provide specific failure modes.
This is much harder to do when everything is a static.
Edit: some typos.
- zubspace 7y agoAll fields in the Master class are interfaces. You simply assign Mock-Implementations in the testing scenario, once in a startup routine. Done.
- tmk1108 7y agoHow do you deal with parallel tests execution? Given that they are all static, you can't have multiple tests running at the same time setting up the mocks or they might overlap
- zubspace 7y agoYou can add a static "InitTest" method somewhere which initializes the modules. Use a double checked locking pattern [1] in there to make sure, that you instantiate and assign the modules used for testing exactly once. [1] https://en.wikipedia.org/wiki/Double-checked_locking https://en.wikipedia.org/wiki/Double-checked_locking