Android JUnit:如何使异常导致测试用例通过(@Test注释)

you*_*786 3 java junit android exception

我正在尝试为Android应用程序编写一些JUnit测试.

我在网上看过如果它抛出一个异常会有一个单元测试通过,你会使用像这样的@Test注释

@Test(expected = NullPointerException.class)
public void testNullValue() throws Throwable
{
    Object o = null;
    o.toString();
}
Run Code Online (Sandbox Code Playgroud)

但是Eclipse告诉我这个注释不存在.我怎样才能解决这个问题?如果我运行测试,它运行正常并按预期失败但显然我希望它失败(因此实际上通过):)

fil*_*fku 7

您始终可以手动绕过它:

public void testNullValue()
{
    try {
       Object o = null;
       o.toString();
       fail("Expected NullPointerException to be thrown");
    } catch (NullPointerException e) {
       assertTrue(true);
    }
}
Run Code Online (Sandbox Code Playgroud)

  • `assertTrue(true)`不是很有用.可以在那里什么都不做. (3认同)
  • 是的,这是用于在Android上进行测试的正确模式,它使用JUnit 3.(注释仅在JUnit 4中可用) (2认同)