Мы используем 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.