写eclipse junit插件测试

zer*_*n23 7 eclipse testing plugins junit

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

Von*_*onC 14

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

运行AS-配置创建


如果您的插件是基于OSGi的,您必须知道OSGi包运行它自己的类加载器,因此类看起来不在同一个包中.
请参阅" OSGi是否是JUnit测试的敌人? "

使您的测试插件成为片段.
一个问题是其他插件无法访问片段中定义的类(正如Patrick Paulin 在单元测试中对片段进行更详细的讨论时所指出的).
另一个问题是plugin.xml在片段中被忽略.因此你测试插件无法贡献

来自帕特里克的文章:

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

插件单元测试

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

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


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

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

新的测试案例