package demo; import com.intuit.karate.cucumber.CucumberRunner; import com.intuit.karate.cucumber.KarateStats; import com.intuit.karate.demo.Application; import com.intuit.karate.demo.config.ServerStartedInitializingBean; import cucumber.api.CucumberOptions; import java.io.File; import org.apache.commons.io.FileUtils; import static org.junit.Assert.assertTrue; import org.junit.Test; import org.springframework.context.ConfigurableApplicationContext; /** * * @author pthomas3 */ @CucumberOptions(tags = {"~@ignore"}) public class JerseyHttpClientTest { @Test public void testJerseyClient() throws Exception { File srcDir = new File("../karate-demo/src/test/java"); File destDir = new File("target/test-classes"); FileUtils.copyDirectory(srcDir, destDir, f -> true, false); ConfigurableApplicationContext context = Application.run(new String[]{"--server.port=0"}); ServerStartedInitializingBean ss = context.getBean(ServerStartedInitializingBean.class); System.setProperty("demo.server.port", ss.getLocalPort() + ""); KarateStats stats = CucumberRunner.parallel(getClass(), 5); assertTrue("there are scenario failures", stats.getFailCount() == 0); context.stop(); } }