java - 如何为 mule 自定义变压器编写单元测试用例

标签 java junit junit4 esb mule

我们试图在 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;
    }

我们现在对以下事情感到困惑:

  1. 在哪里编写我们的测试逻辑?
  2. 在哪里以及如何将输入发送到 Transformer?
  3. 我们从变压器返回什么?
  4. 如果我们没有从变压器返回任何内容(变压器是流程中的最后一个端点)怎么办?
  5. 如何“调用”测试用例?
  6. 如何编写需要自定义异常的测试用例?
  7. 在 eclipse 内的 Junit 测试中,我们曾经将其声明为 @Test(expected = RuntimeException.class) 但如何在 mule 单元测试用例中执行此操作?
  8. 我们如何在 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/

相关文章:

java - 如何使用 Spring Autowire 编写 JUnit 测试?

Java Comparator 给定要比较的属性的名称

junit - 如何让 Junit 4 忽略基本测试类?

java - java中干净的方法声明

java - 以关键字作为名称截断表

java - 未找到使用 JMock 的测试

junit - 如何保证junit测试的质量?

java - Pitest 因非法重复而无法启动

java - Android 上 .flatMap() 内的奇怪调度程序行为

java - 我如何通过ArrayAdapter用ArrayList填充Spinner?