buildout で Pyramid のテストコマンドを作る
前回までのあらすじ
buildout を使って Pyramid の環境を構築したねじだが、朝方剥いた桃がすごい速さで変色していくのにびっくりした。
Pyramid でのテストの実行
チュートリアルにあるように、setup.py test とか nose でテストができる。
これを buildout 使った場合はどうやるのかと思ったら、zc.buildout.eggs に nose とか追加するのじゃなくて、pbp.recipe.noserunner というレシピがあるらしい。
というのに @aodag 先生の公開してる papyrus の buildout.cfg を見て気づきました。なのでパクります。
bin/test コマンドの作成
buildout.cfg に以下のセクションを追加します。parts への追記も忘れずに。
[test] recipe = pbp.recipe.noserunner eggs = coverage kusaba defaults = src/kusaba --with-doctest --cover-package=kusaba --cover-erase --with-coverage
${kusaba:eggs} という変数は [kusaba] セクションに別れてないとできないっぽいです。しかし [pyramid] セクションと一緒にしないとパス通らないのよね…
ともあれ、これで bin/buildout すれば bin/test コマンドができますよ。実行するとこんな感じです。
$ bin/test . Name Stmts Miss Cover Missing ----------------------------------------------------------- kusaba 11 7 36% 9-15 kusaba.models 14 0 100% kusaba.scripts 0 0 100% kusaba.scripts.initializedb 22 14 36% 19-22, 25-35 kusaba.views 11 2 82% 15-16 ----------------------------------------------------------- TOTAL 58 23 60% ---------------------------------------------------------------------- Ran 1 test in 1.560s OK
ウヒョー