2017-02-17 1 views
0

피트니스 피팅을 슬림으로 바꾸는 방법을 찾고 있습니다. Command Line Fit Fixture는 에서 가져 왔습니다. 모든 Fitnesse 테스트 시스템이 Slim에서 실행 중이므로 내 테스트에서 bash 스크립트를 실행하려면 Slim으로 CommandLineFixture가 있어야합니다. 다른 해결 방법이 필요합니다.적합 피팅을 체력 테스트 슬림으로 변환

Fitnesse test에서 스크립트를 실행하려고하는데이 스크립트는 내 Fitnesse 서버가 실행중인 서버에있는 파일에 텍스트를 기록합니다. 하지만 내가봤을 때 제공된 파일 (https://github.com/fhoeben/hsac-fitnesse-fixtures/blob/master/src/main/java/nl/hsac/fitnesse/fixture/slim/ExecuteProgramTest.java)은 파일을 열고 파일을 쓰지 않습니다. 그래서 우리는 Fitnesse와 어떤 제약이있어 파일에 쓰는 스크립트를 실행하고 있는지 확인하고 싶었습니다. 또한 나는 파일을 텍스트로 모든 RWX 권한을 준

아래 내 수정 된 스크립트입니다 :

!define TEST_SYSTEM {slim} 
!path ../fixtures/*.jar 
|Import | 
| nl.hsac.fitnesse.fixture.slim.ExecuteProgramTest | 
|script | 
|set |-c |as argument|0| 
|set |ls -l/|as argument|1| 
|execute|/bin/bash | 
|check |exit code |0 | 
|show |standard out | 
|check |standard error|!--! | 

테스트 위의 실행이 응답을 가져 없습니다. 테스트 페이지 : 0 오른쪽, 0 틀림, 1 무시, 0 예외 어설 션 : 0 오른쪽, 0 틀림, 0 무시, 0 예외 (0.456 초)

+0

나는 아래의 줄에서 '.ExecuteProgramTest'를 삭제해야한다고 생각합니다. 그런 다음 빈 줄을 'script'를 사용하여 줄 위에 추가해야하며 줄 끝 부분에 스크립트가'| script | ExecuteProgramTest | '가되어야합니다. 그게 시험을 고쳐야 해. –

+0

참을성있게 나를 도와 주셔서 감사합니다. –

+0

내 대답을 받아 들일 수 있다면 도움이 되었습니까? –

답변

0

프로그램을 시작할 수있는 도우미 메서드가 있습니다. 내 my fixture library은 이미 있지만 오늘 조명기에서 작업을 시작했습니다. execute program test 픽스쳐가 효과가 있습니까?

사용 예제 :

우리는 일부 인수와 함께 프로그램을 실행 종료 코드를 확인하고 출력을 표시 할 수 있습니다.

|script |execute program test  | 
|set |-c   |as argument|0| 
|set |ls -l/  |as argument|1| 
|execute|/bin/bash     | 
|check |exit code  |0   | 
|show |standard out    | 
|check |standard error|!--!   | 

프로그램 실행을위한 기본 제한 시간은 1 분이지만 사용자 지정 시간 제한을 설정할 수 있습니다. 또한 호출 된 디렉토리를 제어하고 목록을 사용하여 모든 인수를 설정하고 출력에 '형식이 지정되지 않음'을 얻을 수 있습니다.

|script    |execute program test   | 
|check    |timeout   |60000  | 
|set timeout of  |100    |milliseconds| 
|set working directory|/        | 
|set     |-c, ls -l   |as arguments| 
|execute    |/bin/bash      | 
|check    |exit code   |0   | 
|show     |raw standard out    | 
|check    |raw standard error|!--!  | 

시간 제한은 또한 초 설정하고, 환경 변수를 전달할 수있다 (프로세스의 출력은 제대로 표시되도록 이스케이프).

|script  |execute program test   | 
|set timeout of|1    |seconds  | 
|set value  |Hi <there>  |for  |BLA| 
|set   |-c    |as argument|0 | 
|set   |!-echo ${BLA}-!|as argument|1 | 
|execute  |/bin/bash      | 
|check   |exit code  |0    | 
|check   |raw standard out    |!-Hi <there> 
-!| 
|check|standard out|{{{Hi <there> 
}}}| 
+0

나는 제공된 라이브러리를 사용하지 않았다. 아래는 실행하려고하는 스크립트입니다 :! define TEST_SYSTEM {slim} 경로 /home/fixtures/hsac-fitnesse-fixtures-2.11.1-SNAPSHOT.jar | 가져 오기 | | nl.hsac.fitnesse.fixture.slim.ExecuteProgramTest | 제공된 코드 중 위의 코드보다 입니다. –

+0

내가 아는 한 가져 오기 테이블은 클래스가 아니라 패키지 이름 만 포함해야합니다. 해볼 수 있니? 도움이되지 않으면 어떤 오류가 발생했는지 공유 할 수 있습니까? –

+0

그리고 나는 경로에 jar 파일을 추가해야한다고 생각한다 : 라이브러리가 사용하는 의존성. 필자는 보통 maven-classpath-pluging (예를 들어'! pomFile ../ pom.xml @ compile') 또는 Maven이 모든 의존성을 디렉토리 (예 : 조명기)에 복사 한 다음'! path fixtures/* .jar'. –