我正在编写一个包含大量jni代码的Java库。几乎每个测试用例都需要加载我的jni dll,而且我有很多测试用例。为了从Eclipse的Junit启动器中运行测试用例,我必须创建一个运行/调试配置并编辑VM参数和环境变量。
我想要一种方法将VM参数和环境变量设置为整个项目的默认值,并且新的运行配置包括默认条目。据我所知,执行环境可能会做这样的事情,但我似乎需要PDE让它们工作(?)
具体来说,我希望默认情况下在我的项目上启用断言,并在PATH环境变量中包含我的本机dll的路径。我不能使用JRE定义面板中的“默认VM参数”设置,因为我的dll依赖于许多其他设置,并且java.library.path不用于依赖项解析,PATH是。有没有办法让Eclipse做我想做的事?
答案 0 :(得分:10)
所以,这就是我所做的。
首先,我的具体问题是我有很多运行配置,我在运行中创建新的配置,并且我需要为单元测试设置某些系统属性。在运行配置的“args”选项卡下设置它们对我的工作流程来说是不可取的。另外,我想为我的所有测试设置相同的命令行参数。我也没有从日食中运行我的应用程序。这只是一个开发环境。
所以我的解决方案是将它添加到我的JRE的命令行。偏好 - > Java - >已安装的JRE。单击编辑将为您提供一个窗口,您可以在其中指定默认的VM args。我只是设置了我在那里测试所需的系统属性。
希望这有帮助。
答案 1 :(得分:1)
为项目运行所有测试需要多长时间?
如果答案是Not long
,那么创建一个项目范围的JUnit启动器。如果偶尔你需要在一个测试用例上运行(为了调试或者某些东西),你可以从项目的junit启动器中复制所有设置。我认为您甚至可以克隆项目启动程序以运行特定的测试用例。
Run all tests
in selected {...}
Common
标签 - > Save as
- > Shared
file
和办理登机手续的发射器
你的项目我要做的另一件事是在启动器VM参数中定义系统属性,在@Before函数中检查此属性,如果未设置该属性则抛出异常。通过这种方式,您将知道您的测试失败,因为它没有使用正确的启动器。
答案 2 :(得分:0)
如果我理解你的问题,我认为亚历山大正在克服项目启动器的想法。 Eclipse允许您通过单击复制启动配置 - 只需使用您需要的参数设置一个配置,并在创建新配置时单击左上角的按钮复制它。