Apache Ignite:启动Ignite服务器进行单元测试的最佳实践。

问题描述 投票:0回答:1

我有一个使用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项目。

unit-testing junit ignite
1个回答
1
投票

为什么不直接使用

// Non-blocking
Ignite ignite = Ignition.getOrStart(cfg);

... go on with your test cases?

你可以用 Ignition.stopAll() 后来。

© www.soinside.com 2019 - 2024. All rights reserved.