The Test annotation supports two optional parameters. The first, expected, declares that a test method should throw an exception. If it doesn't throw an exception or if it throws a different exception than the one declared, the test fails. For example, the following test succeeds:    @Test(expected=IndexOutOfBoundsException.class) public void outOfBounds() {
       new ArrayList<Object>().get(1);
    }
看样子应该是不可以 不知到还有没有其他的方法

解决方案 »

  1.   

    可以使用  ExpectedException Rules。// These tests all pass.
     public static class HasExpectedException {
            @Rule
            public ExpectedException thrown= ExpectedException.none();
     
            @Test
            public void throwsNothing() {
        // no exception expected, none thrown: passes.
            }
     
            @Test
            public void throwsNullPointerException() {
                    thrown.expect(NullPointerException.class);
                    throw new NullPointerException();
            }
     
            @Test
            public void throwsNullPointerExceptionWithMessage() {
                    thrown.expect(NullPointerException.class);
                    thrown.expectMessage("happened?");
                    thrown.expectMessage(startsWith("What"));
                    throw new NullPointerException("What happened?");
            }
     }
    文档里示例代码是上面这样。不过方法 
    可以使用Matcher: AnyOf/AllOf指定多个Exception。
      

  2.   

    更简单的方法是换用TestNG。
    http://testng.org/doc/documentation-main.html