我如何声明我"期待" Groovy,JUnit和Maven的单元测试中的异常?

时间:2014-07-22 14:41:49

标签: unit-testing groovy junit

我有以下Groovy单元测试代码:

class MyTest extends GroovyTestCase {

    @Test(expected = IllegalArgumentException.class)
    public void testReadFileMissing() {
        // does something which causes an IllegalArgumentException
    }

    // more tests
}

这与我的Java单元测试完美配合,但是使用groovy测试,mvn clean test运行测试,但测试失败,因为抛出了IllegalArgumentException。换句话说,我的预期"注释属性似乎完全被忽略了。

我当然可以简单地使用try / catch块来检查我感兴趣的行为,但是如果可能的话,我想使用JUnit API,因为它是'它是什么&#39 ; s for和我发现生成的代码更易于阅读和理解。

那么,有谁能告诉我我做错了什么?

2 个答案:

答案 0 :(得分:1)

要么不使用GroovyTestCase而使用相应的JUnit类作为基础,要么完全groovy并使用shouldFail。示例在这里http://mrhaki.blogspot.de/2009/11/groovy-goodness-testing-for-expected.html

答案 1 :(得分:1)

您可以使用shouldFailshouldFailWithCause精确展示受测代码中预期的异常类型。