使用mule的org.mule.tck.FunctionalTestCase时,我们可以使用JUnit注释吗?

时间:2011-11-26 04:08:28

标签: junit mule

我们正在使用org.mule.tck.FunctionalTestCase来测试用例。它是一个抽象的JUnit测试用例。

这是在pom.xml中声明依赖项的方式:

    ...
    <dependency>
        <groupId>org.mule.tests</groupId>
        <artifactId>mule-tests-functional</artifactId>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <scope>test</scope>
    </dependency>
    ...

这是测试代码的样子:

import org.junit.Before;
import org.mule.tck.FunctionalTestCase;

public class SomeSuiteTest extends FunctionalTestCase {

    protected String getConfigResources() {
        return "my-mule-config.xml";
    }

    @Before
    public void doStuff() {
        ...
    }

    public void testThisCode() throws Exception {
        ...
    }
}

问题是永远不会调用doStuff()。我的理解是在每次测试之前都会调用@Before注释的方法。此外,@ Test注释不是插件的一部分。看来我也需要从org.junit导入它,但我不相信它是受支持的。

使用org.mule.tck.FunctionalTestCase时我们可以使用JUnit注释吗?

---更新---

我发现FunctionalTestCase的父类AbstractMuleTestCase有一个名为doS​​etUp()的方法,我可以在测试中覆盖它。像@Before方法一样,它在每次测试之前调用。我仍然更喜欢注释,因为在JUnit文档中没有概述doSetUp()。

1 个答案:

答案 0 :(得分:4)

如果扩展org.mule.tck.FunctionalTestCase类,则必须遵循其规则,即。覆盖doSetUp()。请注意,JUnit文档中未概述doSetUp(),因为它特定于FunctionalTestCase。

否则,请扩展org.mule.tck.junit4.FunctionalTestCase,这是友好的Junit4。