Spring Cloud Contract не работает с Surefire 2.20

Я пробую Spring Cloud Contact: у меня есть конечная точка «/ приветствие» в моем приложении с весенней загрузкой, и оно возвращает «Hello World!».

Контракт выглядит следующим образом:

request { 
    method 'GET' 
    url '/greeting' 
    headers { 
        contentType('application/json')
    }
}
response { 
    status 200 
    body([ 
           "content": "Hello, World!"
    ])
}

Мой тестовый класс:

public class ExampleJavaConsumerPactTestIT {

@Before
public void setup() {
    RestAssuredMockMvc.standaloneSetup(new GreetingController());
}

@Test
public void aQuickTest(){
}

}

Все работает нормально: если я поменяю вышеуказанный контракт на «content»: «Hello!», То тест не пройдёт.

Однако, когда я добавляю свою зависимость к пользовательскому плагину Surefire:

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>2.20</version>
            <configuration>
                <includes>
                    <include>**/*IT.java</include>
                </includes>
            </configuration>
        </plugin>

Затем я снова запускаю тест с неправильным контрактом (content ":" Hello! "), Тест должен завершиться неудачно, но это не так.

Что-то не так?


person Yashu    schedule 08.05.2017    source источник
comment
Вы можете разместить где-нибудь свой образец? Без этого вам будет сложно помочь ...   -  person Marcin Grzejszczak    schedule 08.05.2017
comment
Является ли ExampleJavaConsumerPactTestIT вашим базовым классом верификатора? В противном случае ‹include› ** / * IT.java ‹/include› может не включать его.   -  person Jeff    schedule 08.05.2017
comment
@MarcinGrzejszczak Я разместил свой источник здесь github.com/pkid/spring-cloud-contract -with-surefire. В основном я ожидаю сбоя сборки, если выполню mvn clean test -Pcontract-tests   -  person Yashu    schedule 08.05.2017
comment
@Jeff Да, я установил baseClassForTests. Вы можете взглянуть на github.com/pkid/spring-cloud-contract-with-surefire.   -  person Yashu    schedule 08.05.2017


Ответы (1)


Ваша установка неверна. Созданный тест называется ContractVerifierTest, поэтому он не выбран ни одним из ваших профилей. Просто добавьте строку <include>**/*ContractVerifierTest.java</include> в свою верную конфигурацию.

person Marcin Grzejszczak    schedule 08.05.2017