doctest に挑戦
Posted on Fri 08 March 2019 in misc
doctest をやってみました。意外と難しい。REPL で改行コードを入れるのが、ちょっとよくわかりません。テキストファイルから読み込んだ文字列を引数とする関数のテストをしたかったのですが、改行が入った文字列をどうやったら良いのか。そのまま改行してしまうと SyntanError になりました。
>>> print('Raspberry\\nApple')
Raspberry\nApple
この投稿の reStructuredText を doctest でテストした結果です。 -v オプション付きで実行した出力です。
Trying: print('Raspberry\\nApple') Expecting: Raspberry\nApple ok 1 items passed all tests: 1 tests in try-doctest.rst 1 tests in 1 items. 1 passed and 0 failed. Test passed.
改行コードは \\n で良いのか?もともとの会社で書いたコードは最終的に関数の返り値をテキストファイルに書くコードです。その書き出したファイルの中身は問題ありませんでした。
しかし、なんかすっきりしない。こういうときは設計がなんかまずいのかな、などと思っています。