使用带有 spring @Value 注释的成员测试 Jersey 端点
Testing Jersey endpoints with members annotated with springs @Value
我正在尝试使用 Jersey 并将其与 Spring 集成,以便在我们的 spring 网络应用程序中拥有 jax-rs 端点。
我遇到的问题是用@Value 注释的应用程序成员没有填充在我们的单元测试中。
用@Autowired 填充的那些工作正常,如果我为字符串创建一个 setter 方法并用 @Value 注释它也可以工作。
让我恼火的是,直接用@Value 注释的成员在测试中不起作用,但在我们的 tomcat.
中部署时起作用
这是我们测试配置的问题吗?或者这是某个地方的已知问题?
这些是我认为的相关依赖:
<dependency>
<groupId>org.glassfish.jersey.ext</groupId>
<artifactId>jersey-spring3</artifactId>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.test-framework</groupId>
<artifactId>jersey-test-framework-core</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.test-framework.providers</groupId>
<artifactId>jersey-test-framework-provider-jetty</artifactId>
<scope>test</scope>
</dependency>
看来您可能缺少组件扫描,添加后对我来说效果很好。
<context:component-scan base-package="no.hackeriet.bugs" />
但我不确定它在 tomcat 中如何在没有组件扫描的情况下仍然有效,这让我很困惑。
我正在尝试使用 Jersey 并将其与 Spring 集成,以便在我们的 spring 网络应用程序中拥有 jax-rs 端点。
我遇到的问题是用@Value 注释的应用程序成员没有填充在我们的单元测试中。
用@Autowired 填充的那些工作正常,如果我为字符串创建一个 setter 方法并用 @Value 注释它也可以工作。
让我恼火的是,直接用@Value 注释的成员在测试中不起作用,但在我们的 tomcat.
中部署时起作用这是我们测试配置的问题吗?或者这是某个地方的已知问题?
这些是我认为的相关依赖:
<dependency>
<groupId>org.glassfish.jersey.ext</groupId>
<artifactId>jersey-spring3</artifactId>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.test-framework</groupId>
<artifactId>jersey-test-framework-core</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.test-framework.providers</groupId>
<artifactId>jersey-test-framework-provider-jetty</artifactId>
<scope>test</scope>
</dependency>
看来您可能缺少组件扫描,添加后对我来说效果很好。
<context:component-scan base-package="no.hackeriet.bugs" />
但我不确定它在 tomcat 中如何在没有组件扫描的情况下仍然有效,这让我很困惑。