私はSpockで私のSpring Boot 1.4.0のテストを書こうとしていますが、私のアプリケーションテストプロパティファイルは取得されていません。spring boot 1.4、spockとapplication.properties
私は私のGradleでこれを持っている:
dependencies {
compile('org.springframework.boot:spring-boot-starter-data-jpa')
compile('org.springframework.boot:spring-boot-starter-security')
compile('org.springframework.boot:spring-boot-starter-web')
compile 'org.codehaus.groovy:groovy-all:2.4.1'
testCompile('org.springframework.boot:spring-boot-starter-test')
testCompile('org.spockframework:spock-spring:1.0-groovy-2.4') {
}
その後、私は
/SRC /テスト/グルーヴィー/リソースでこれを持っている:
# JWT Key
[email protected]
そして最後に、私のスポックテスト:
このクラスをテストしている:
@Component
public class TokenUtility {
private static final Logger LOG = LoggerFactory.getLogger(TokenUtility.class);
@Value("${jwt.key}")
private String jwtKey;
public String buildToken(UserDetails user) {
return Jwts.builder()
.setSubject(user.getUsername())
.signWith(SignatureAlgorithm.HS512, jwtKey)
.compact();
}
public boolean validate(String token) {
try {
Jwts.parser().setSigningKey(jwtKey).parseClaimsJws(token);
return true;
} catch (SignatureException e) {
LOG.error("Invalid JWT found: " + token);
}
return false;
}
}
私はもともと(私はjwtKeyがnullだったので、想定しています)私のテストにTokenUtilityをインスタンス化しますがapplication-test.propertiesがロードされていませんでした。だから私はテスト中の@Autowiredクラスを試していますが、現在はnullです。
Spring Boot 1.4がテストのために大きく変更されたようですが、これを正しく配線していないのでしょうか?