kshell 스크립트, awk 및 java 프로그램의 조합 인 쉘 스크립트 응용 프로그램을 상속 받았습니다. Java 조각에 대한 JUnit 테스트를 작성했습니다.테스트 자동화 방법 찾기 kshell app
kshell 스크립트 및 awk 프로그램과 유사한 작업을 수행하는 좋은 방법이 있습니까?
나는 JUnit과 System.exec()를 사용하여 스크립트를 호출하는 것을 고려해 봤지만, 더 좋은 방법이 있어야 할 것처럼 보인다.
kshell 스크립트, awk 및 java 프로그램의 조합 인 쉘 스크립트 응용 프로그램을 상속 받았습니다. Java 조각에 대한 JUnit 테스트를 작성했습니다.테스트 자동화 방법 찾기 kshell app
kshell 스크립트 및 awk 프로그램과 유사한 작업을 수행하는 좋은 방법이 있습니까?
나는 JUnit과 System.exec()를 사용하여 스크립트를 호출하는 것을 고려해 봤지만, 더 좋은 방법이 있어야 할 것처럼 보인다.
나는 shUnit2을 발견했으며이를 시도 할 것입니다. shUnit
shUnit을 노력의 결과
업데이트가 기대 작품으로. 스크립트 파일은 정의 된 테스트 함수로 작성된 다음 shUnit을 호출하여 작성됩니다.
예 :
#!/bin/sh
testFileCreated()
{
TESTFILE=/tmp/testfile.txt
# some code that creates the $TESTFILE
assertTrue 'Test file missing' "[ -s '${TESTFILE}' ]"
}
# load shunit2
. /path/to/shUnit/shunit2-2.1.5/src/shell/shunit2
결과
Ran 1 test.
OK
'확인'파일이 존재하지 않은 경우 '실패'로 대체 될 것이다.
이 질문에 대한 직접적인 대답은 아니지만 간단한 매개 변수를 사용하여 매개 변수가 다른 bash 스크립트를 실행할 수 있습니다. 이 같은 쓰기 예를 들어
: 호출하여
cat >Makefile
test_all: test1 test2 test3
test1:
script1 -parameter1 -parameter2
test2: $(addprefix test2file_, $TESTFILES)
test2file_%:
script2 -filename $*
test3:
grep|awk|gawk|sed....
'을 만들 test_all'당신은 자동으로 모든 스크립트를 실행하며, 구문은 배우기 너무 어려운 일이 아니다 - 당신은 단지 규칙을 정의해야 name (test1, test_all ...) 및 그와 연관된 명령.
'shumit2'를'yum'을 사용하여 설치했습니다. 설치 위치를 어떻게 알 수 있습니까? 어느 쪽도 그것을 찾아 낼 수 없다. – Leonid