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

时间:2011-08-03 00:16:29

标签: java android exception junit

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

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

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

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

3 个答案:

答案 0 :(得分:7)

您始终可以手动绕过它:

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

答案 1 :(得分:3)

我认为应该是:

@Test(expected=NullPointerException.class)

答案 2 :(得分:0)

  1. 仔细检查您正在使用的JUnit版本
  2. 不要使用eclipse提供的JUnit(Indigo),而是手动导入JUnit 4.9
  3. 错误是“神秘”的错误,没有一个简单或直接的答案,我只是在尝试想法