coverage.pyを使ってみた。
http://nedbatchelder.com/code/modules/coverage.html
普通にコードカバレッジをだしてみる。
$ python coverage.py -e $ python coverage.py -x ../pyramidTest.py ...
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
"-e"でデータ消して、"-x"でテスト実行。"-r"でレポート。13〜15行目がテストできていないらしい。
続けて、チェック済みコードを出力してみる。
$ python coverage.py -a ../pyramid.py $ cat ../pyramid.py,cover > def returnAster(count): > ret = "" > for i in range(count): > for j in range(i+1): > ret += "*" > ret += "\n" > ret = ret[:-1] > return ret > if __name__ == "__main__": ! for i in range(5): ! print returnAster(i) ! print "\n"
"ファイル名.cover"でチェック済みのソースが出力される。実際に中身をみてみると、
テストがカバーしきれていないところ(ほんとにそう言えるかは別問題やね)に"!"が付くみたい。