Как передать URL в методе httptarget при использовании PACT - PullRequest
0 голосов
/ 12 января 2019

при создании теста проверки пакта я использую httpTarget Method. но проблема в том, что у моего сервиса нет значения порта. как мы можем запустить это? пожалуйста, порекомендуйте. Сервисный URL = http://services.groupkt.com/country/get/iso3code/IND

ниже - мой проверочный тест. пакет se.ff.bsv;

import au.com.dius.pact.provider.junit.PactRunner;
import au.com.dius.pact.provider.junit.Provider;
import au.com.dius.pact.provider.junit.State;
import au.com.dius.pact.provider.junit.loader.PactFolder;
import au.com.dius.pact.provider.junit.loader.PactUrl;
import au.com.dius.pact.provider.junit.target.HttpTarget;
import au.com.dius.pact.provider.junit.target.Target;
import au.com.dius.pact.provider.junit.target.TestTarget;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.ClassRule;
import org.junit.runner.RunWith;

import java.net.URL;
import java.util.Map;

@RunWith(PactRunner.class) // Say JUnit to run tests with custom Runner
@Provider("getCountryService") // Set up name of tested provider
@PactFolder("../pacts") // Point where to find pacts (See also section Pacts source in documentation)

//@PactUrl(urls = {"http://services.groupkt.com/country/get/iso3code/IND"} )

public class getCountryContractTest {

    @State("There is a country with alpha2_code as IN having name as India") // Method will be run before testing
                                                                                // interactions that require "with-data"
                                                                                // state
    public void hammerSmith() {
        System.out.println("There is a country with alpha2_code as IN having name as India");
    }

    @TestTarget // Annotation denotes Target that will be used for tests

    //public final Target target = new HttpTarget(8111);// Out-of-the-box implementation of Target (for more information take a look at Test Target section)
    public final Target target = new HttpTarget("http", "services.groupkt.com",);

}

1 Ответ

0 голосов
/ 15 января 2019

Вы не можете сказать, что у вашей службы нет порта, но вы можете сказать, что ваша служба использует порт по умолчанию (например). В этом случае попробуйте использовать порт 80.

...