2017-05-18 3 views
0

Wie ruft man Methoden in einem Restdienst, der nicht im Frühjahr oder Java geschrieben ist (seine WCF-Ruhe-Service) mit JUnit & Feder?Test Spring - REST API ohne Mock

Hinweis: Ich möchte HTTP-GET tun, also ist Spott hier nicht der Fall.

Lässt Frühling mich restTemplate.getForObject(..) von JUnit verwenden? Gurke?


Bisher habe ich einen Klienten geschrieben Frühling mit:

@SpringBootApplication 
public class Application { 

    private static final Logger log = LoggerFactory.getLogger(Application.class); 
    private static final String SERVICE_URL="http://localhost:12345/PrivilegesService/IsAlive"; 


    public static void main(String args[]) { 
     SpringApplication.run(Application.class); 
    } 

    @Bean 
    public RestTemplate restTemplate(RestTemplateBuilder builder) { 
     return builder.build(); 
    } 

    @Bean 
    public CommandLineRunner run(RestTemplate restTemplate) throws Exception { 
     return args -> { 
      boolean response = restTemplate.getForObject(SERVICE_URL, boolean.class); 
      log.info("response: "+ response); // print : true 
     }; 
    } 
} 

Ich möchte, dass meine Tests aussehen:

public class StepDefinitions { 

    @When("^application is up$") 
    public void the_client_issues_GET_version(){ 

    } 
    @Then("^the server should be running$") 
    public void the_client_receives_status_code_of() { 
     boolean response = restTemplate.getForObject(SERVICE_URL, boolean.class); 
     AssertTrue(true,response); 
    } 
} 
+1

zu nennen. Was lässt Sie denken, dass es Restitemplate in Junit nicht verwenden würde? Natürlich erlaubt es. Darüber hinaus basiert REST auf HTTP, sodass es nicht wichtig ist, welches Framework zum Schreiben eines REST-Services verwendet wird. Solange es ein REST-Dienst ist, sollten Sie in der Lage sein, es – pvpkiran

+0

zu nennen Danke, es funktioniert! Bitte schreibe es als Antwort. –

+0

Fertig. Du willst es akzeptieren. – pvpkiran

Antwort

1

RestTemplate auch in Junit arbeitet. Es spielt keine Rolle, ob es sich um einen Quellcode oder Testcode handelt.
REST basiert auf HTTP, es spielt also keine Rolle, welches Framework zum Schreiben eines REST-Dienstes verwendet wird. Solange es sich um einen REST-Service handelt, sollten Sie in der Lage sein, es