Android JUnit测试…如何预期的异常

我试图写一些测试使用内置的Android Junit测试框架。我遇到一个测试的问题,我期待抛出异常。在JUnit中,测试方法的注释将是:

@Test(expected = ArithmeticException.class)

但是,在android中,此测试失败与一个ArithmeticException。

我知道Android实现只是JUnit 3的一个子集,甚至不允许注释@Test(必须是@SmallTest,@MediumTest或@LargeTest,并且没有一个允许’expected = ..’参数) ,但这似乎是一个相当重要的测试,似乎android测试框架将严重缺乏,如果它没有这个功能。

注意:我通过将JUnit jar添加到项目并通过添加和注释到我的测试方法来测试这个。这是有意义的,为什么注释将完全被忽略,因为android框架(runner?)不是寻找该注释,只是忽略它。基本上我只是在框架内寻找“正确”的方法来做到这一点。

这种测试的标准junit 3成语是:

public void testThatMethodThrowsException()
{
  try
  {
    doSomethingThatShouldThrow();
    Assert.fail("Should have thrown Arithmetic exception");
  }
  catch(ArithmeticException e)
  {
    //success
  }
}
http://stackoverflow.com/questions/5912240/android-junit-testing-how-to-expect-an-exception

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:Android JUnit测试…如何预期的异常