2015-04-02 107 views
-2

当我试图测试异常时,我总是收到错误(不失败)。也试过@rule。同样的事情发生。Junit eclipse中的错误测试异常

public Money addSameCurrency(Money other) { 
    if (!currency.equals(other.currency)) { 
     throw new IllegalArgumentException(); 
    } 

    Money m = new Money(amount + other.amount, currency); 
    return m; 
} 

@Test(expected = IllegalArgumentException.class) 
public void testExceptionIsThrown() { 
    Money m1 = new Money(10, "USD"); 
    Money m2 = new Money(15, "EUR"); 
    Money sum = m1.addSameCurrency(m2); 
} 
+1

适合我。发布完整的堆栈跟踪或错误(你的意思是编译错误?)的消息。 – 2015-04-02 15:55:52

+0

您的测试是否直接或间接扩展'junit.frameworkTestCase'?如果是这样,这可能会使测试运行为JUnit3样式测试(因此'@ Test'注释将被忽略) – NamshubWriter 2015-04-02 16:26:23

+0

感谢NamshubWriter。我确实扩展了TestCase。如果不扩展这个类,它就可以工作。 – flymelody 2015-04-02 17:28:33

回答

0

我猜测你的测试直接或间接延伸junit.frameworkTestCase。如果是这样,这可能会使测试运行为JUnit3样式测试(因此@Test注释将被忽略)