如果我需要为Junit测试类中的@Value
注释字段提供两个不同的值怎么办?这里我有一个布尔字段,它是@Value
注释的。所以我必须为它可以是真也可以是假的场景编写Junit测试用例。
我使用了@TestProperty tySource(properties="underwrite. skip=true")
。
为以下字段
@Value("${underwriting.skip}")
protected Boolean skipUnderwriting;
但是要测试一些代码,我需要在某个时候使值为false。请建议。
您可以为不同的测试类提供不同的@TestProperty tySource注释。根据您的需要,您可以在某些测试中使用@TestProperty tySource(properties="underwrite. skip=true"),在其他测试中使用@TestProperty tySource(properties="underwrite.skip=false")。
(注意:@TestProperty tySource属于您的测试类,而不是实际类。)
下面的解决方案对我有用。我使用ReflationTestUtils在每个测试用例方法中为属性字段设置值。
反射TestUtils. setField(class ToTest,"skipUnderwrite",Boolean.TRUE);