我们试图在 Mule 中为自定义变压器编写 Junit 测试用例。 但我们无法调用测试类中的 doTransform() 方法。
后来我们看到 mule 文档,发现 Mule 提供了单元测试用例的功能。
根据文档,我们扩展了 AbstractTransformerTestCase
,其中有一些要实现的方法。
他们是:
@Override
public Transformer getTransformer() throws Exception {
// TODO Auto-generated method stub
return null;
}
@Override
public Transformer getRoundTripTransformer() throws Exception {
// TODO Auto-generated method stub
return null;
}
@Override
public Object getTestData() {
// TODO Auto-generated method stub
return null;
}
@Override
public Object getResultData() {
// TODO Auto-generated method stub
return null;
}
我们现在对以下事情感到困惑:
- 在哪里编写我们的测试逻辑?
- 在哪里以及如何将输入发送到 Transformer?
- 我们从变压器返回什么?
- 如果我们没有从变压器返回任何内容(变压器是流程中的最后一个端点)怎么办?
- 如何“调用”测试用例?
- 如何编写需要自定义异常的测试用例?
- 在 eclipse 内的 Junit 测试中,我们曾经将其声明为
@Test(expected = RuntimeException.class)
但如何在 mule 单元测试用例中执行此操作? - 我们如何在
AbstractTransformerTestCase
中使用现有的“要重写的方法”?
请帮助我们。两周以来我们不知道该怎么做。
最佳答案
要在 Mule 中测试变压器,请执行以下操作:
- 扩展
org.mule.transformer.AbstractTransformerTestCase
并实现抽象方法( look at the test for the Base64 transformer as a good example )。这涵盖了变压器的基础知识。 - 如果您想要涵盖更高级的场景,例如使用不同的负载或属性,则可以通过扩展 org.mule.tck.junit4.FunctionalTestCase 来创建功能测试用例,并创建标准 JUnit4
@Test
方法来与您将在测试配置中配置的变压器交互。
关于java - 如何为 mule 自定义变压器编写单元测试用例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12930359/