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();
}