Spring @IfProfileValue 应该忽略测试 class,但事实并非如此

Spring @IfProfileValue should ignore test class, but it is not

因此,我正在尝试使用 @IfProfileValue.

在我的 CI 管道上将测试分离到 运行

我只是把这个注释放在我的一个测试 类 上,我 还没有 定义值。我只是想检查当我 运行 mvn test 时,surefire 会忽略这个测试。

出于某种原因,测试被提取并执行。

@IfProfileValue(name = "test-profile", value = "something")
@RunWith(Parameterized.class)
@SpringBootTest
@WebAppConfiguration
public class MyTest {

要使测试使用 Spring 上下文,您需要 运行 使用 SpringRunner。在您的示例中,您使用 Parameterized 运行ner,这使得测试忽略 Spring 上下文,因此 IfProfileValue 注释被忽略。