WindowsXP環境でeclipse(PyDev)を使ってGoogle App Engine の開発をしているのですが、
・テストコードを簡単に実行したい
・エラーの有無を実行結果の色で判別したい
という思いから、以下のようなバッチを作ってみました。
<nosetest.bat>
@ECHO OFF
CD /D %~dp0
REM ========================================
REM nosetests 起動バッチ
REM ①nosetests にパラメータを指定して起動、出力結果を一時ファイルに保存
REM ②テストでエラーなし:テスト結果を標準出力に出力
REM テストでエラーあり:テスト結果をエラー出力に出力
REM ③30秒間(パラメータ1で変更可能)そのままポーズして終了
REM ========================================
REM 起動パラメータ:
REM パラメータ1=指定された秒数だけ表示(デフォルトは30秒)
REM パラメータ2=nosetestsの追加パラメータ
REM ========================================
IF "%1"=="" (SET WAIT_TIME=30) ELSE (SET WAIT_TIME=%1)
SET EXTENDS = %~2
SET /A WAIT_TIME=%WAIT_TIME%+1 >NUL
REM ======================================
REM 内部パラメータ:
REM EXE_COMAND=nosetest.exeの起動コマンド(必要に応じてpathも指定)
REM SRC_PATH=ソースディレクトリの相対パス
REM NOSETESTS_RESULT_FILE=noseの実行結果の保存ファイル
REM ======================================
SET EXE_COMAND=nosetests.exe -v --with-gae --gae-lib-root="C:\Program Files\Google\google_appengine" --without-sandbox
SET SRC_PATH=..\src
SET NOSETESTS_RESULT_FILE=nosetests_result.txt
REM ======================================
REM 実処理
REM ======================================
SET EXE_COMAND=%EXE_COMAND% %EXTENDS%
TITLE %EXE_COMAND%
CD /D %SRC_PATH%
%EXE_COMAND% 2>%~dp0\%NOSETESTS_RESULT_FILE%
CD /D %~dp0
FINDSTR "FAILED (*" %NOSETESTS_RESULT_FILE% > NUL
SET ERROR_CODE=%ERRORLEVEL%
IF "%ERROR_CODE%"=="0" (color 4F & type %NOSETESTS_RESULT_FILE% 1>&2 & SET RETURN_CODE=1) ELSE (color 27 & type %NOSETESTS_RESULT_FILE% 2>&1 & SET RETURN_CODE=0)
@PING -n %WAIT_TIME% localhost >NUL
EXIT /B %ERROR_CODE%
動作確認環境:WindowsXP SP3 + eclipse3.5.2 ( +PyDev 1.6.3 + Nose 0.11.4+ NoseGAE 0.1.7)
配置はこんな感じを前提にしてます。
[workspace]\[project]\bat\nosetest.bat
[workspace]\[project]\src\app.yaml
[workspace]\[project]\src\app.yaml
[workspace]\[project]\src\main.py
[workspace]\[project]\src\test_main.py
[workspace]\[project]\src\htmlgenerator\base.py
[workspace]\[project]\src\htmlgenerator\test_base.py
使い方:
その1: 外部ツールにnosetests.batを登録、起動時のパラメータに0を指定。
登録した外部ツールを、一度実行。
「前回実行した外部ツールを起動」のメニューに、Ctrl+Tを割り当て。
その2:
ショートカットを作成して、スタートメニューに登録。
Windowsキーを押してスタートメニューを表示させて、Nを押す。
0 件のコメント:
コメントを投稿