Java 如何使用ActivityTestCase或InstrumentationTestCase测试异常

Java 如何使用ActivityTestCase或InstrumentationTestCase测试异常,java,android,android-studio,junit,junit4,Java,Android,Android Studio,Junit,Junit4,我正在用AndroidStudio 1.2.2创建一些Junit测试。这是我的测试课。它从ActivityTestCase(或InstrumentationTestCase)扩展而来 参数必须很短。所以范围是从-32768到32767 如果我通过一个1000000的值,它应该抛出一个异常,测试应该通过 我该怎么查呢?类似于:AssertExceptionIshorn(true,typesMeth.getValue())在经典JUnit4中,您需要在测试用例之前添加一些注释 @Test(expec

我正在用AndroidStudio 1.2.2创建一些Junit测试。这是我的测试课。它从ActivityTestCase(或InstrumentationTestCase)扩展而来

参数必须很短。所以范围是从-32768到32767

如果我通过一个1000000的值,它应该抛出一个异常,测试应该通过


我该怎么查呢?类似于:
AssertExceptionIshorn(true,typesMeth.getValue())

在经典JUnit4中,您需要在测试用例之前添加一些注释

@Test(expected = IllegalArgumentException.class)
public void myUnitTest() {
   ...
}
据我所知,Android中没有支持这一点的注释,所以您需要使用try-and-catch以JUnit4之前的方式来实现

try {
  doSomethingThatShouldThrow();
  fail("Should have thrown Exception");
} catch (IllegalArgumentException e) {
  // success
}
try {
  doSomethingThatShouldThrow();
  fail("Should have thrown Exception");
} catch (IllegalArgumentException e) {
  // success
}