Можем ли мы использовать аннотации JUnit при использовании mule org.mule.tck.FunctionalTestCase? - PullRequest
3 голосов
/ 26 ноября 2011

Мы используем 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, но я не уверен, что это поддерживается.

Можем ли мы использовать аннотации JUnit при использовании org.mule.tck.FunctionalTestCase?

--- Обновление ---

Я обнаружил, что у родительского класса FunctionalTestCase, AbstractMuleTestCase, есть метод с именем doSetUp (), который я могу переопределить в своем тесте. Как и метод @Before, он вызывается перед каждым тестом. Я все еще предпочел бы аннотации, поскольку doSetUp () не описан в документации JUnit.

1 Ответ

4 голосов
/ 27 ноября 2011

Если вы расширяете класс org.mule.tck.FunctionalTestCase, вы должны играть по его правилам, т.е.переопределить doSetUp ().Обратите внимание, что doSetUp () не описан в документации JUnit, потому что он специфичен для FunctionalTestCase.

В противном случае, расширьте org.mule.tck.junit4.FunctionalTestCase, что благоприятно для Junit4.

...