提问者:小点点

JUnit@value注释字段用法Java


如果我需要为Junit测试类中的@Value注释字段提供两个不同的值怎么办?这里我有一个布尔字段,它是@Value注释的。所以我必须为它可以是真也可以是假的场景编写Junit测试用例。

我使用了@TestProperty tySource(properties="underwrite. skip=true")

为以下字段

@Value("${underwriting.skip}")
protected Boolean skipUnderwriting;

但是要测试一些代码,我需要在某个时候使值为false。请建议。


共2个答案

匿名用户

您可以为不同的测试类提供不同的@TestProperty tySource注释。根据您的需要,您可以在某些测试中使用@TestProperty tySource(properties="underwrite. skip=true"),在其他测试中使用@TestProperty tySource(properties="underwrite.skip=false")。

(注意:@TestProperty tySource属于您的测试类,而不是实际类。)

匿名用户

下面的解决方案对我有用。我使用ReflationTestUtils在每个测试用例方法中为属性字段设置值。

反射TestUtils. setField(class ToTest,"skipUnderwrite",Boolean.TRUE);