Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- interface IConsulFactory {
- IConsulClient BuildClient(ConsulClientConfiguration config)
- }
- class ConsulConfigProvider {
- private IConsulFactory _factory;
- ConsulConfigProvider(IConsulFactory factory) {
- _factory = factory
- }
- }
- class DefaultConsulFactory : IConsulFactory {
- override IConsulClient BuildClient(ConsulClientConfiguration config) {
- return new ConsulClient(config)
- }
- }
- // В тестах
- class TestConsulClient: IConsulClient {
- override ... // хуячишь какие то тестовые конфиги, которые проверять будешь или например бросишь эксепшон.
- }
- class TestConsulFactory : IConsulFactory {
- override IConsulClient BuildClient(ConsulClientConfiguration config) {
- return new TestConsulClient();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement