我正在使用pax考试测试远程服务。
要做到这一点,我需要启动两个容器。一个本地运行我的测试调用消费者,另一个运行服务,Aries RSA和zookeeper。
我设法通过在@Configuration方法中调用它来启动外部容器。它似乎并不属于那里,但它是我在OSGi之外执行代码的唯一地方。
现在我需要第二个钩子,当测试关闭时我会调用它来关闭容器。 @After或@AfterClass似乎无法在OSGi中运行。
我也很高兴有一种更简洁的启动外部容器的方法,因为在@Configuration中添加它对我来说感觉不对。
答案 0 :(得分:3)
我现在找到了一个解决方案,但我仍然希望有一些开箱即用的功能。
我创建了一个新的Pax跑步者TwoContainerPaxExam。它查找用@ServerConfiguration注释的第二个配置,在测试之前启动它并在之后将其关闭。
所以我的测试现在看起来像TestRoundTrip。如果没有任何开箱即用,我会尝试将此解决方案纳入考试。