Java 期望在没有特定消息的情况下引发异常
例如,我有一个方法,我想在它抛出特定异常类型时测试这个用例。Java 期望在没有特定消息的情况下引发异常,java,junit,easymock,Java,Junit,Easymock,例如,我有一个方法,我想在它抛出特定异常类型时测试这个用例。MyException类中没有不带参数的构造函数 public class Clazz { private Service service; public void method() { try { int result = service.perform(); } catch (MyException exc) { throw exc;
MyException
类中没有不带参数的构造函数
public class Clazz {
private Service service;
public void method() {
try {
int result = service.perform();
} catch (MyException exc) {
throw exc;
}
}
}
我为服务创建了mock,并将其设置到Clazz实例中
@Before
public void setUp() {
clazz = new Clazz();
service = createStrictMock(Service.class);
clazz.setService(service);
}
测试应该是什么样子?我的意思是方法的测试方法应该是什么样的?试试:
expect(service.perform()).andThrow(new MyException(/* some params */));
有关更多详细信息,请转至(处理异常)或
由于重新显示异常,您可能还希望将@Test(expected=MyException.class)
添加到测试方法中。您可以使用以下方法(假设@设置有效)
@Test(expected = MyException.class)
public void testExceptionThrown() throws Exception(){
Clazz subject = new Clazz();
subject.setService(service);
subject.method();
}