Вы используете шаблон Service Locator в своих классах, который плохо подходит для модульного тестирования. Попробуйте перейти к шаблону Dependency Injection . Это делает модульное тестирование намного проще.
Пример сервисного локатора:
public class MyService : Service
{
private Needed dependency;
public MyService()
{
this.dependency =
Component.getInstance(Needed.class);
}
}
Пример внедрения зависимости:
public class MyService : Service
{
private Needed dependency;
public MyService(Needed dependency)
{
this.dependency = dependency;
}
}
При внедрении зависимостей ваш класс не будет иметь никаких ссылок на контейнер (Component
в вашем случае), что значительно упрощает юнит-тестирование класса.