0
Существует некоторый класс:Глумление сессионный компонент дает javax.naming.NoInitialContextException
@Stateless
public class SomeSimpleBean implements SomeSimpleLocal{
private static SomeSimpleBean cachedInstance;
public static SomeSimpleLocal lookup() throws NamingException {
if (cachedInstance == null) {
cachedInstance = (SomeSimpleLocal) new InitialContext()
.lookup(“something”);
}
return cachedInstance;
}
...
}
и есть еще один класс:
public class SomeOtherClass(){
private SomeSimpleLocal getSomeSimpleBean() throws SomeException {
try {
return SomeSimpleLocal.lookup();
} catch (Throwable e) {
throw new SomeException(“…”, e);
}
}
private String generateResponse(String transactionId, String someParameter) throws Exception {
SomeSimpleBean beanController = getSomeSimpleBean();
String receivedString = controller.someMethod(transactionId,
someParameter);
return receivedString;
}
...
public String giveMeSomeData(){
...
String xxx = generateResponse(a,b);
...
return someString;
}
}
Можно ли издеваться SomeSimpleBean
в этом случае? Mocking SomeSimpleBean
дает javax.naming.NoInitialContextException
.
Пожалуйста, покажите нам код вашего теста, где вы попробуете и издеваетесь над фасолью. Кроме того, попробуйте использовать * реальный * код. Это не компилируется, например: 'public class SomeOtherClass() {'. Наконец, пожалуйста, отложите свой код аккуратно, чтобы мы могли легче читать его. –
Решенные. Mocked InitialContextFactoryBuilder, а затем вызвал NamingManager.setInitialContextFactoryBuilder (построитель); Оно работает. –