【问题标题】:Why can't my class find "ContractVerifierUtil"?为什么我的班级找不到“ContractVerifierUtil”?
【发布时间】:2019-07-26 09:09:46
【问题描述】:

我正在尝试在我的项目中实现存根,但是当我尝试构建它时出现以下错误:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:testCompile (default-testCompile) on project customer-previous-address-older-version: Compilation failure
[ERROR] /archive/target/generated-test-sources/contracts/address/ContractVerifierTest.java:[18,63] cannot find symbol
[ERROR]   symbol:   class ContractVerifierUtil
[ERROR]   location: package org.springframework.cloud.contract.verifier.util

由于发生错误的代码是自动生成的,我不确定我能做什么。

这是自动生成的测试类:

package ie.aib.customer.address;

import com.jayway.jsonpath.DocumentContext;
import com.jayway.jsonpath.JsonPath;
import PreviousAddressBaseTest;
import io.restassured.module.mockmvc.specification.MockMvcRequestSpecification;
import io.restassured.response.ResponseOptions;
import java.io.StringReader;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import org.junit.Test;
import org.w3c.dom.Document;
import org.xml.sax.InputSource;

import static com.toomuchcoding.jsonassert.JsonAssertion.assertThatJson;
import static io.restassured.module.mockmvc.RestAssuredMockMvc.*;
import static org.springframework.cloud.contract.verifier.assertion.SpringCloudContractAssertions.assertThat;
import static org.springframework.cloud.contract.verifier.util.ContractVerifierUtil.*;

public class ContractVerifierTest extends PreviousAddressBaseTest {

    @Test
    public void validate_shouldReturnPreviousAddress() throws Exception {
        // given:
            MockMvcRequestSpecification request = given();

        // when:
            ResponseOptions response = given().spec(request)
                    .get("/previous-address");

        // then:
            assertThat(response.statusCode()).isEqualTo(200);
            assertThat(response.header("Content-Type")).matches("text/plain;charset=ISO-8859-1");
        // and:
            String responseBody = response.getBody().asString();
            assertThat(responseBody).isEqualTo("Send me something!");
    }

}

我添加了以下依赖项,我认为这可以解决问题,但它没有:

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-contract-verifier</artifactId>
</dependency>

【问题讨论】:

  • 我面临同样的错误。你是怎么解决这个问题的?
  • 我面临同样的错误。您如何解决错误?

标签: maven spring-boot stub


【解决方案1】:

尝试在我们的 Maven POM 部分添加 spring-cloud-dependencies。还要确保 spring-cloud.version 在所有地方都相同,包括依赖 spring-cloud-contract-verifier 因为我因此遇到了这个错误。

<dependencyManagement>
   <dependencies>
      <dependency>
         <groupId>org.springframework.cloud</groupId>
         <artifactId>spring-cloud-dependencies</artifactId>
         <version>${spring-cloud.version}</version>
         <type>pom</type>
         <scope>import</scope>
      </dependency>
   </dependencies>
</dependencyManagement>

【讨论】:

    猜你喜欢
    • 2013-09-17
    • 1970-01-01
    • 1970-01-01
    • 2014-06-18
    • 1970-01-01
    • 2013-05-26
    相关资源
    最近更新 更多