Я должен высмеять следующий шаг безопасности с помощью EasyMock или UnitilsMock. Не могли бы вы предложить способ достижения этого?Глубокие заглушки EasyMock
String id = context.getCallerPrincipal().getName();
Этот шаг связан с безопасностью. Поэтому я не смогу создать объект «Принцип» и сделать насчет двухуровневого уровня. Я знаю, что Mockito обрабатывает такие вещи легко, как следует,
@Mock(answer = Answers.RETURNS_DEEP_STUBS)
SessionContext mockContext;
Но мне нужно аналогичное решение с использованием EasyMock или Unitils Mock. Полный код, я хочу единицу тест дается ниже,
@Override
@PermitAll
public List<Employee> findAll() {
boolean isAdmin = context.isCallerInRole(Roles.ADMIN);
if (isAdmin) {
return super.findAll();
} else {
String id = context.getCallerPrincipal().getName();
Query query = getEntityManager().createNamedQuery("findEmployeeById");
query.setParameter("employeeId", id);
return query.getResultList();
}
}
-Спасибо
Спасибо за ваше предложение. Должен ли я изменить тест класса на «Основной принцип = context.getCallerPrincipal(); String caller = main.getName(); 'затем высмеивает Pricipal в моем тесте и вводит его в тест класса? – Bala
Я не думаю, что вам нужно изменить SUT. –