我需要对在redis上运行spring数据的spring spring应用程序进行集成测试。 测试在本地使用常规redis服务器实例,我需要在由公司CI工程组控制的Jenkins CI服务器上运行。 显然我可以附加到那里的重做服务器,所以我使用了嵌入式redis服务器(从这里:https://github.com/kstyrc/embedded-redis)。 使用此redis服务器在本地运行测试很有效,因为有一个测试配置文件可以注入嵌入式服务器来代替生产服务器。 现在的问题是,当我们在Jenkins环境中运行时,这就是我们看到的错误。
recursible = instance_double(Generator)
allow(recursible).to receive(:generate) { |*args| run_generator args[1..-1] }
test_case_instance.generator_class = recursible
因此,这个版本的redis特定依赖于特定版本的glibc。我尝试了几个其他库,但它们都依赖于嵌入式redis服务器的相同底层版本。
是否有可用于解决此类问题的spring数据模拟框架?
答案 0 :(得分:1)
您没有足够高的libc6
版本,导致错误。
来自How to fix “/lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.14' not found”? – Super User:
这意味着该程序是针对glibc 2.14版编译的,它需要运行该版本,但您的系统安装了旧版本。您需要根据系统上的glibc版本重新编译程序,或者安装更新版本的glibc(Debian中的“libc6”软件包)。
因此,您只需要升级libc6
包。所有版本的Ubuntu至少都有2.15版,因为它是一个非常重要的软件包(reference)。
要升级它,请在终端中使用以下命令:
sudo apt-get update
sudo apt-get install libc6
P.S。这是askubuntu.com <{3}} minerz029的答案
答案 1 :(得分:1)
这对你来说可能有点晚了,但确实有一个可以使用的Spring Data Mock框架,它允许您在没有真正的数据库连接的情况下模拟存储库(无论具体的后端解决方案)。 / p>