写eclipse junit插件测试

时间:2009-06-03 15:00:14

标签: eclipse plugins junit testing

我从哪里开始编写插件测试?我已经编写了一些玩具插件,并希望开始使用我的插件进行TDD。

1 个答案:

答案 0 :(得分:14)

如果您的插件是使用SWT的RCP(富客户端平台)插件,则可以使用 SWTBot 。 那些测试可以封装到JUnit中:

Run-as-config-create


如果您的插件是基于OSGi的,您必须知道OSGi包运行它自己的类加载器,因此类似乎不在同一个包中。
请参阅“Is OSGi the enemy of JUnit tests?

  

让您的测试插件为 fragment   一个问题是其他插件无法访问片段中定义的类(正如Patrick Paulin在a more detailed discussion about fragments in unit tests中指出的那样)。
  另一个问题是片段中的plugin.xml被忽略。因此你测试插件无法贡献

来自Patrick的文章:

  

片段看起来很像来自外部的插件。它在工作区中表示为一个单独的项目,它包含一个描述其内容的清单,它是作为jar构建和部署的。使片段与众不同的是它在运行时将其资源贡献给单个主机插件。因此,片段中的类由主机插件的类加载器加载。

plugin unit test

  

通过将我们的单元测试放在片段中,我们可以提供测试访问被测试类的非公共方法。此外,由于源代码和测试代码实际上是同一插件的一部分,因此不存在与未导出的包相关的问题。无论是否导出,测试类都可以访问插件中的所有包。

     

这种基于片段的方法的主要缺点是难以将单元测试聚合到主测试套件中。虽然创建一个包含片段内测试的测试套件很容易,但创建一个包含多个片段测试的套件并不容易。


如果您的插件只需要一些简单的测试,那么JUnit test套件就足够了

  

在包test.yourpackage中创建一个新的测试用例BookTest,右键单击该包并选择“New > JUnit Test Case”。

new test case