grep Quick의 fdescribe와fit (+Xcode에warning으로 표시) 를 위한 스크립트를 썼습니다.

2819 단어 XcodeSwiftQuick
최근 퀵과 TDD로 삐걱삐걱 테스트를 했습니다http://qiita.com/shindyu/items/1d644dfabd067de7233a
나는 그 일에 있어서 매우 편리하다고 생각되는 각본을 만들어 보았기 때문에 적어 두었다.

오프닝


iOS 테스트 프레임워크 빠른 채널은 특정 테스트에만 사용
fdescribe, fcontext, fit
의 규격화 거리의 멱 함수.
https://github.com/Quick/Quick/blob/master/Documentation/ja/QuickExamplesAndGroups.md#지정한 -examples만 임시로 실행-
일반적으로 테스트 구동을 통해 개발하면 테스트 수가 증가하기 때문에 테스트 집행 시간도 이에 따라 증가한다.그래서 지금 쓰고 있는 테스트만 실행하고 싶어요!이 포커스는 매우 편리하다.
단, 예를 들어 어떤 테스트에서 fdescribe와commit나push 코드를 보류하면 이후 모든 테스트가 실행되지 않은 상태의 코드를 사용합니다.
테스트 드라이브 개발의 경우 실패한 테스트를 쓰기 시작했기 때문에 바로 오류가 발견되지만 정신 위생적으로 좋지 않기 때문에commit과push 전에 일부러 xcode로 fdescribe와fit를 검색하는 것도 번거롭다.

본론


그래서 오프닝이 길어졌지만 스크립트를 썼어요.
(현재의 개발 스타일은commit 전에 Makefile에서 명령행 테스트에서 실행되는 절차이기 때문에 Makefile에서 사용할 수 있습니다.)
Makefile
tests:
     checkF <テスト実行>
checkF:
     ./bin/checkF.sh <DIR1> <DIR2> ...
checkF.sh
pattern="fdescribe\|fcontext\|fit"

find $* -type f -name "*.swift" -print | xargs grep -rnw -e $pattern --color=auto
checkF.sh 매개 변수에 디렉터리를 지정하면 (이번) 대상 디렉터리에 있습니다.grep swift 파일은 대상 문자열 (fdescribe 또는 fcontext 또는fit) 을 포함하는 파일 이름과 줄 번호를 표시합니다.
 

추적:


Xcode에서 특정 문자열grep을warning으로 지정하는 방법


이 글을 쓰는 도중에 Xcode의 Run Script에 같은find/grep을 쓰세요. 이걸 warning으로 꺼내면 xcode에서 알 수 있으니까 편하죠!?이 점을 알아차렸기 때문에 같은 내용을 xcode의runscript로 설정했습니다.
KEYWORDS="fdescribe|fcontext|fit"
echo "searching ${SRCROOT} for ${KEYWORDS}"
find SampleTests \( -name "*.swift" \) -print0 |\
xargs -0 egrep --with-filename --line-number --only-matching "($KEYWORDS).*\$" |\
perl -p -e "s/($KEYWORDS)/ warning: \$1/"


스크립트를 별로 써본 적이 없어서 많이 배웠어요.
참조:http://stackoverflow.com/questions/24183812/swift-warning-equivalent

좋은 웹페이지 즐겨찾기