如何在 kotlin 集成测试中切换释放功能标志?

问题描述 投票:0回答:1

Unleash 提供此文档 - https://github.com/silvercar/unleash-client-kotlin?tab=readme-ov-file#unit-testing 用于编写单元测试,但没有介绍如何在集成测试中切换环境。我使用mock mvc来模拟API端点,并使用MockServerClient来模拟外部依赖的API。

kotlin integration-testing mockmvc unleash
1个回答
0
投票

我能够使用

ReflectionTestUtils.setField()

解决这个问题
  private val unleash: Unleash = mockk()
  @Autowired private lateinit var serviceImpl: ServiceImpl
  @BeforeEach
  fun beforeEach() {
    MockKAnnotations.init(this, relaxed = true)
    every { unleash.client.isEnabled(Unleash.FLAG_NAME) } returns true
    ReflectionTestUtils.setField(serviceImpl, "unleash", unleash)
  }

在使用mock mvc的集成测试中添加上述代码。

© www.soinside.com 2019 - 2024. All rights reserved.