我有一个使用JUnit4的mavenJava 8项目。被测试的代码使用Java瘦客户机创建和操作一个Cache。为了从命令行(mvn test)或Eclipse等IDE中运行单元测试,我希望能够以编程方式启动Ignite服务器。
如果我像这样启动服务器。
Runnable runnable = () -> {
Ignite ignite = Ignition.getOrStart(cfg);
};
Thread t = new Thread(runnable);
t.start();
在@BeforeClass中(使用Runnable来避免getOrStart()的阻塞),服务器会在几秒钟后优雅地死去。
[15:34:16] Ignite node started OK (id=33cb95c5)
[15:34:22] Ignite node stopped OK [uptime=00:00:05.378]
遗憾的是,对于我的单元测试来说,太快了,无法运行。那么,对于用Ignite的临时启动来进行单元测试的应用代码,有什么最佳实践吗?似乎不是一个罕见的问题,但我还没有找到一个好的答案("使用这个框架","扩展这个类 "等等)。
谢谢!我有一个mavenJava 8项目。
为什么不直接使用
// Non-blocking
Ignite ignite = Ignition.getOrStart(cfg);
... go on with your test cases?
你可以用 Ignition.stopAll()
后来。