JMockitを使用しているときに、exceptionをconstructor invocationにスローしたい場合は、次のようにします。
new Expectations(){
{
new FirefoxDriver();//Want to throw IllegalStateException here but how?
}
};
記録された期待値の結果を指定するには、その結果(返す値またはスローする例外)をresult
フィールドに割り当てます。
new Expectations() {{
someMockedMethodOrConstructorInvocation(...); result = new IllegalStateException();
}};
テストケースのメソッドにパラメータとしてモックされるクラスを追加する必要があります。結果を使用して、メソッドの結果をモックできます。
@Test
public void testCase(@Mocked final ClassToMock classToMockObject){
new NonStrictExpectations() {
{
classToMockObject.methodToMock();result=NullPointerException();
}};
classToMockObject.methodToMock(); //calling the method to throw exception
}