我正在使用Android Studio 1.2.2创建一些Junit测试。这是我的TestClass。它从ActivityTestCase(或InstrumentationTestCase)扩展。

public class TypeTest extends ActivityTestCase
{
    TypesMeth typesMeth = new TypesMeth();

    public void testTypes()
    {
        typesMeth.setValue((short) 1000000);
        assertEquals(exception, typesMeth.getValue());
    }
}


该参数必须短。因此范围是从-32768到32767。

如果我传递的值是1000000,则应引发异常并通过测试。

我该如何检查?类似于:assertExceptionIsThrown(true, typesMeth.getValue());

最佳答案

在经典的JUnit 4中,您将在测试用例之前添加一些注释

@Test(expected = IllegalArgumentException.class)
public void myUnitTest() {
   ...
}


据我所知,Android中没有支持此功能的注释,因此您需要使用try and catch以JUnit 4之前的方式进行注释

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

07-27 13:46