При использовании JMockit я хочу создать исключение при вызове конструктора следующим образом:
new Expectations(){
{
new FirefoxDriver();//Want to throw IllegalStateException here but how?
}
};
При использовании JMockit я хочу создать исключение при вызове конструктора следующим образом:
new Expectations(){
{
new FirefoxDriver();//Want to throw IllegalStateException here but how?
}
};
Чтобы указать результат для записанного ожидания, назначьте его (либо значения для возврата, либо исключения для выдачи) в поле result
:
new Expectations() {{
someMockedMethodOrConstructorInvocation(...); result = new IllegalStateException();
}};
@Mocked
. В противном случае фактический метод или конструктор действительно будет выполнен.
- person Rogério; 16.03.2015
new Expectations(FirefoxDriver.class) {{...}};
, но я еще недостаточно уверен в JMockit... Может быть, добавить @Test(expected = IllegalStateException)
в метод, а затем вызвать new FirefoxDriver();
после блока ожиданий?
- person Amos M. Carpenter; 16.09.2016
мы должны добавить класс, который будет издеваться, в качестве параметров в методе тестового примера. И, используя результат, мы можем издеваться над результатом метода.
@Test
public void testCase(@Mocked final ClassToMock classToMockObject){
new NonStrictExpectations() {
{
classToMockObject.methodToMock();result=NullPointerException();
}};
classToMockObject.methodToMock(); //calling the method to throw exception
}