【问题标题】:autowiring 2 instances of the same class but with different properties自动装配同一类但具有不同属性的 2 个实例
【发布时间】:2020-09-09 16:51:26
【问题描述】:

我想在依赖 .properties 文件的属性的特定类中检查我的构造函数。 如果缺少某些属性,则分配一些默认值。 我使用@Value 来捕获构造函数中的属性。

我的问题是,当我想检查同一个测试类中的两种行为时,我不知道如何从上下文中删除所需的属性仅针对 1 个实例。 实例化发生在@Autowired

我厌倦了按键清除该属性,但它发生在自动装配之后,并且都获得了该属性。

【问题讨论】:

  • 考虑重构有两个单独的测试。如果他们有类似的设置,请创建一个他们都可以调用的共享设置方法,然后更改使他们不同的方面。
  • 这不是我要检查的行为....当然我可以在创建后手动更改属性。我想检查实例化而不中断它。

标签: spring spring-boot junit


【解决方案1】:

可以考虑使用

ReflectionTestUtils.setField(classToInstatiate, "your.prop", "someValue");

测试默认行为

【讨论】:

  • 这正是我不想做的。
猜你喜欢
  • 2016-02-13
  • 1970-01-01
  • 2013-01-08
  • 1970-01-01
  • 2011-05-26
  • 2018-07-29
  • 2013-03-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多