我有一个使用JUnit4的maven / Java 8项目。被测试的代码使用Java瘦客户端创建和操作Cache。为了从命令行(mvn测试)或像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的特殊开始对单元代码进行单元测试的最佳实践?似乎不是一个不常见的问题,但我还没有找到一个很好的答案(“使用此框架”,“扩展此类”等)。
谢谢!
答案 0 :(得分:1)
为什么不只是使用
// Non-blocking
Ignite ignite = Ignition.getOrStart(cfg);
... go on with your test cases?
稍后您可以使用Ignition.stopAll()
停止它。