[SPRING] 모의 사용하여 외부 라이브러리 스프링 프레임 워크와 가라테 항아리를 실행
SPRING모의 사용하여 외부 라이브러리 스프링 프레임 워크와 가라테 항아리를 실행
좋은 아침. 나는 공수 독립을 사용하는 프로젝트에서 일하고 있습니다. 여기 지식의 나의 부족을 변명 할 가라테 완전히 새로운입니다.
독립형 공수 항아리는 mock.feature을 시작하는 "-m"커맨드 라인 파라미터로 실행된다. mock.feature는 'org.springframework.amqp'에 내장 된 유틸 클래스를 참조합니다.
문제는 karate.jar 시작 인해 외부 라이브러리 '조직 / 스프링 프레임 워크 / AMQP / 토끼 / 연결 / ConnectionFactory에'에 명령 줄 실행 예외와 함께 실패이다
api1_mock_test.feature
Feature: API1 Mock Test
Background:
* def RabbitUtils = Java.type('utils.RabbitUtils')
.
.
우리 RabbitUtils 수입은 외부 라이브러리를 org.springframework.amqp 단지 자바 클래스는, 예를 들어 토끼 AMQP 브로커와 상호 작용하는 기능을 제공하는 것입니다 구축하고 모든 작품을 좋아 인 IntelliJ에서 실행하는 경우 등을 제거, 게시, 연결받을 수 있습니다. 프로젝트의 POM 기준은 다음과 같습니다
<dependency>
<groupId>org.springframework.amqp</groupId>
<artifactId>spring-rabbit</artifactId>
<version>2.1.5.RELEASE</version>
</dependency>
공수의 독립 항아리는 외부 라이브러리를 참조 할 수있는 방법이 있습니까? 클래스 경로 매개 변수는 '\ 대상 \ 테스트 - 클래스.'우리의 작업 공간을 참조하도록 설정하고 RabbitUtils.class 파일이 포함됩니다.
작업 공간 루트에서 현재 실행은 다음과 같습니다 :
java -jar C:\intuit\karate-0.9.3.RC2.jar -cp .\target\test-classes -p 6868 -m .\src\test\java\mocks\api1_mock_test.feature
08:57:05.122 [main] INFO com.intuit.karate.Main - Karate version: 0.9.3.RC2
08:57:05.891 [main] ERROR com.intuit.karate - server-side background init failed - api1_mock_test.feature:4
Exception in thread "main" picocli.CommandLine$ExecutionException:
-unknown-:4 - org/springframework/amqp/rabbit/connection/ConnectionFactory
감사합니다!
해결법
-
==============================
1.이 요청에 대한 감사, 그리고 내가 좋은 많은 가능성을 열어이 작업을 수행 할 수있는 방법을 알아 냈어요 생각합니다. 이 솔루션은 자바 첫 번째 원칙을 사용하고 -jar 옵션을 사용하지 않는 것입니다. 가라테 명령 줄 - 응용 프로그램 (또는 CLI) 클래스는 com.intuit.karate.Main 수 발생합니다. 여기 SikuliX를 사용하는 데모를 제공하겠습니다. 첫째, 기능 파일 test.feature :
이 요청에 대한 감사, 그리고 내가 좋은 많은 가능성을 열어이 작업을 수행 할 수있는 방법을 알아 냈어요 생각합니다. 이 솔루션은 자바 첫 번째 원칙을 사용하고 -jar 옵션을 사용하지 않는 것입니다. 가라테 명령 줄 - 응용 프로그램 (또는 CLI) 클래스는 com.intuit.karate.Main 수 발생합니다. 여기 SikuliX를 사용하는 데모를 제공하겠습니다. 첫째, 기능 파일 test.feature :
Feature: sikuli test Background: * def Screen = Java.type('org.sikuli.script.Screen') Scenario: * def s = new Screen() * def c = s.capture() * eval c.getFile('.')
그리고 명령 줄에서 동일한 폴더에 karate.jar 및 sikulixapi.jar으로,이 (창, 사용, 대신 : "경로 분리"으로) 작동 :
java -cp karate.jar:sikulixapi.jar com.intuit.karate.Main test.feature
from https://stackoverflow.com/questions/56456840/executing-karate-jar-with-mock-using-external-library-spring-framework by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] 봄 부팅 1.4 잭슨을 사용자 지정하는 방법 (0) | 2019.10.17 |
---|---|
[SPRING] 비 스프링 구성 요소에 대한 스프링 AOP (0) | 2019.10.17 |
[SPRING] 스프링 부팅 스타터 데이터 SOLR에 schemaCreationSupport 사용 (0) | 2019.10.17 |
[SPRING] 봄 클라우드 구성 사용자 환경 저장소 (0) | 2019.10.17 |
[SPRING] 파이프 라인 집계 봄 데이터 MongoDB를 조회 (0) | 2019.10.16 |