当前位置: 首页 > 知识库问答 >
问题:

在单元测试中设置类的资源注释字段

方璞
2023-03-14

我有课。

public class Definitions{
@Resource(name="schemas")
private Collection<String> schemas;
}
<util:list id="schemas">
    <value>"A"</value>
    <value>"b"</value>
</util:list



<bean id="Definitions" />

有没有什么方法可以在单元测试中不使用Spring就将值插入到私有字段模式(用Resource注释)。我尝试使用通过反射设置私有变量,但这也没有帮助(可能是由于安全限制)。

共有1个答案

通飞尘
2023-03-14

为其添加setter:

public class Definitions{
    private Collection<String> schemas;

    @Resource(name="schemas")
    public void setSchemas(Collection<String> schemas) {
        this.schemas = schemas;
    }
}

这就是依赖注入的原理:在单元测试中手动注入依赖,通过构造函数或设置器注入。

 类似资料:
  • 我想配置一个Spring Boot应用程序,以便根本不使用DB。因此,我对应用程序类进行了注释,以排除JPA自动配置类: 原因:org.springframework.beans.factory.BeanCreationException:创建名为“data source”的bean时出错:调用init方法失败;嵌套异常是java.lang.IllegalStateException:无法为测试确

  • 问题内容: 我在理解剩余拦截器注释如何添加不同的值(稍后在过滤器中看到)方面有些挣扎。给定下面的代码,我希望一旦在过滤器中,权限值中将包含foo和bar,但是它们为空。任何帮助将不胜感激。 注解 过滤 应用配置 资源类别 日志输出如下: 15:59:55,223信息[标准输出](默认任务9)@ edu.psu.swe.fortress.poc.interceptor.FortressProtect

  • 我在构造函数 rabbitmq配置。Springxml位于src/main/resources中,在src/main/java中加载xml的类和在src/test/java中加载xml的测试类。我尝试在src/test/resources中复制XML文件,但没有效果。 有没有办法解决这个问题?

  • TestNG有一个很好的特性,可以将注释添加到测试类中(而不是测试方法)。根据文档,当类被注释时,类上所有公共的void返回方法都被视为测试方法。 更新:现在作为一个问题提出。

  • 我最近在使用作为Spring Boot applications(v2.2)开发的微服务,在我的公司,我们使用Keycloak作为授权服务器。我们之所以选择它,是因为我们需要复杂的策略、角色和组,我们还需要用户托管授权(UMA)来在用户之间共享资源。 有没有一种方法可以在控制器级别使用某种注释?类似于下面的伪代码: