Не удается подключить конфигурацию YAML в тестах Spring Boot при использовании тестов Спока - PullRequest
0 голосов
/ 16 апреля 2019

Я пишу тесты Спока для приложения Spring Boot, и тесты имеют конфигурационный файл YAML в качестве зависимости. Я могу успешно подключиться к файлу конфигурации, используя @RunWith(SpringJUnit4ClassRunner.class), но это тесты Спока, а не тесты JUnit, и все не работает должным образом при использовании этой аннотации.

Так что я пропускаю это. Тесты Спока запускаются, но конфигурация YAML вообще не подключена. Я пробовал много разных вариантов, но, похоже, ничего не работает. У кого-нибудь еще есть опыт с этим?

Вот мой тест:

package com.company.producer

import com.amazonaws.services.kinesis.AmazonKinesis
import com.comcast.cpp.broker.rasurakinesisproducer.config.YAMLConfig
import org.junit.runner.RunWith
import org.springframework.beans.factory.annotation.Autowired
import org.springframework.boot.test.context.ConfigFileApplicationContextInitializer
import org.springframework.boot.test.context.SpringBootTest
import org.springframework.test.context.ActiveProfiles
import org.springframework.test.context.ContextConfiguration
import org.springframework.test.context.TestPropertySource
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner
import org.springframework.test.context.junit4.SpringRunner
//import org.springframework.test.context.junit4.SpringJUnit4ClassRunner
import spock.lang.Specification

//@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = [YAMLConfig.class],
        initializers = ConfigFileApplicationContextInitializer.class)

class ProducerSpec extends Specification {

    @Autowired
    YAMLConfig yamlConfig;


//    @Test
    def "just a config test" () {

        when:
        true

        then:
        assert yamlConfig != null
        assert yamlConfig.sourcePath != null
    }

Результаты теста Спока показывают, что yamlConfig равно нулю. Он никогда не был подключен.

Condition not satisfied:

yamlConfig != null
|          |
null       false

    at com.comcast.cpp.broker.rasurakinesisproducer.ProducerSpec.just a config test(ProducerSpec.groovy:128)

У кого-нибудь есть опыт с этим?

...