我正在学习Mockito。在创建嵌套对象的模拟时遇到了问题。请参见
public interface BaseManager {
public Query createQuery(String queryString);
}
和一个实现该类的实现类
public class BaseManagerImpl implements BaseManager {
@Autowired
private SessionFactory sessionFactory;
// ...
}
模块级别的Hibernate管理器,例如:
public interface RegistrationManager {
@Transactional
public List<Country> getCountries();
}
以及该实现类
public class RegistrationManagerImpl implements RegistrationManager {
@Autowired
private BaseManager baseManager;
// ...
}
现在我在创建模拟基础管理器方面遇到了问题。我的测试类是:
现在我正在创建模拟的基础管理器时遇到了问题。我的测试类如下:
public class MockitoTest {
private RegistrationManager registrationManager = new RegistrationManagerImpl();
@Mock private BaseManager baseManager;
@Mock private SessionFactory sessionFactory;
@Before
public void setup() {
MockitoAnnotations.initMocks(this);
// baseManager.setSessionFactory(sessionFactory);
registrationManager.setBaseManager(baseManager);
}
// ...
// @Test
}
问题: baseManager内未实例化sessionFactory。 请帮忙创建模拟对象。谢谢!
baseManager
对象进行了模拟 -- 它不应执行任何未存根的代码。在这个例子中,您还没有显示更多的内容;请发布实际的JUnit测试和完整的堆栈跟踪。 - Thorn G