如何为Eclipse JUnit插件测试设置环境

时间:2015-06-24 15:13:06

标签: java eclipse junit eclipse-rcp

有一些问题,例如this one涉及运行Eclipse JUnit插件测试的主题,但我无法找到如何触发插件某些方面的示例我是测试

我跟着this documentation提到了测试工具,但我还没有找到关于线束的更多文档。我可以将JUnit测试作为Eclipse插件测试运行,但我不确定如何让它们做有用的事情。

在这种情况下,以下是我的具体问题:

  • 如何设置调用被测插件的上下文(例如,“IResource xyz被选中”)?
  • 如何获取受测试插件的句柄以便调用它?我假设有一种方法可以调用其中一个扩展名吗?
  • 我可以以编程方式将资源注入Eclipse JUnit Test工作区吗?

1 个答案:

答案 0 :(得分:1)

我已经成功地完成了大部分工作,以下是我的步骤以及一些感兴趣的示例代码:

  1. 需要在Eclipse插件项目中定义插件测试。我更喜欢在与我测试的插件不同的项目中执行此操作。如果您遵循此方法,则需要添加您作为依赖项进行测试的插件。

  2. 您可以像常规JUnit测试类一样创建测试类。

  3. 您可以使用" Run as JUnit Plugin Test"运行您的测试类。运行配置。 (右键单击 - >运行方式 - > JUnit插件测试)。这将创建一个Eclipse的新实例并在其中运行您的测试。

  4. 下面是一些测试的示例代码,该代码使用来自test plugin的src目录的内容在junit工作区中创建一些资源,然后进行一些断言。

    设置资源:

    //Number pickers
            int minValue = 5;
            int maxValue = 60;
            int step = 5;
    
            String[] numberValues = new String[maxValue/minValue];
    
            for (int i = minValue; i <= maxValue; i+= step)
            {
                numberValues[(i/step)-1] = String.valueOf(i);
            }
    
            mNumberPicker = (NumberPicker)findViewById(R.id.numberPicker);
    
            mNumberPicker.setMinValue(0);
            mNumberPicker.setMaxValue(60);
    
            //mNumberPicker.setValue(20);
            mNumberPicker.setWrapSelectorWheel(false);
            mNumberPicker.setDisplayedValues(numberValues);