在我正在为其编写测试的类中,有一个变量:
@Value("${key}")
private String key;
从文件中获取值application.properties
应用程序本身从 中看到这个值application.properties,但测试没有。
测试看不到键值或application.properties.
这是测试代码:
@SpringBootTest
@RunWith(SpringRunner.class)
public class CipherServiceTest {
private String decryptData;
private String encryptData;
private CipherService cipherService;
@Before
public void setUp() {
cipherService = new CipherServiceImpl();
decryptData = "1234567";
encryptData = "Ql1eURhFU";
}
@Test
public void encryptDataTest(){
assertThat(cipherService.encrypt(decryptData)).isNotEqualTo(decryptData);
}
@Test
public void decryptData(){
assertThat(cipherService.decrypt(encryptData)).isEqualTo(decryptData);
}
}
请告诉我,在哪里以及如何正确注册测试属性?我阅读并遵循,但没有帮助:
检查文件是否存在
application.properties于src/test/resources/您需要
@SpringBootTest在类中添加注释在这里阅读更多,段落
45.4.1对于测试,spring
@TestPropertySource使用@PropertySource. 此注解具有更高的优先级:您可以指定注释
@SpringBootTest: