0

我目前正在根据他们的开发人员指南开始为 UML 建模工具MagicDraw (19.0)开发一个插件。

我已经能够通过一个特殊的预定义(通过 MagicDraw eclipse 模板)启动配置来执行我的插件,该配置名为MagicDraw,带有所有 plugins.launch

我想要的是

我想为我的代码快速运行白盒 JUnit 测试。通过在 Eclipse 的 Package Explorer 视图中右键单击相应的测试模块来启动简单的 JUnit 测试。这些(从我的角度来看)对实际的 OSGi 运行时没有依赖性。

问题

直接启动 JUnit 测试类时,会出现以下错误信息:

“启动 FooBarTestSuite”遇到问题。

类路径引用的存档:/MagicDraw/MAGIC_DRAW_INSTALL_DIRECTORY/lib/patch.jar 不存在。

这引用了 MagicDraw 安装目录,如下所示:

在此处输入图像描述

并且在启动我的插件时它会正确解析。

我试过的

我尝试调整 JUnit 测试的运行配置的类路径设置,它没有改变任何东西。

我工作的另一个项目使用一个专用的 Java 项目(称为),它通过在其文件中com.other.project.test指定来定义为 OSGi 片段。在这里,我的大问题是每次执行 JUnit 测试时都会启动 MagicDraw 应用程序(这需要很长时间才能使用或舒适)。Fragment-Host:META-INF/MANIFEST.MF

我尝试创建一个JUnit Plug-In Test运行配置,但那里发生了同样的错误。

设置了以下 VM 参数,但也无济于事:


-Dosgi.bundlefile.limit=500
-DLOCALCONFIG=true
-Dmd.class.path="${project_classpath:MagicDraw with all plugins}"
-Dcom.nomagic.osgi.config.dir="${resource_loc:MagicDraw/MAGIC_DRAW_INSTALL_DIRECTORY}/configuration"
-Desi.system.config="${resource_loc:MagicDraw/MAGIC_DRAW_INSTALL_DIRECTORY}/data/application.conf"
-Dlogback.configurationFile="${resource_loc:MagicDraw/MAGIC_DRAW_INSTALL_DIRECTORY}/data/logback.xml"
-Dinstall.root="${resource_loc:MagicDraw/MAGIC_DRAW_INSTALL_DIRECTORY}"
-Dmd.plugins.dir="${resource_loc:MagicDraw/MAGIC_DRAW_INSTALL_DIRECTORY}/plugins;${workspace_loc}"`

感谢您提供任何让 JUnit 测试设置运行起来更舒适的提示!还有什么有助于解释为什么我可以使用我的插件正确执行应用程序,而 JUnit 测试不起作用。

4

0 回答 0