2012-03-05 21 views
1

ファイルが見つからないときにIOErrorが必要なdoctestがあります。私は別のPCからこれをテストしたい、または他の誰かがそれをテストしたい場合Pythonのdoctestで可変エラーを処理する方法はありますか?

>>> configParser('conffig.ini') # should not exist 
Traceback (most recent call last): 
    ... 
IOError: No such file: /homes/ndeklein/workspace/MS/PyMS/conffig.ini 

しかし、パスは/ /住宅/ ndeklein /ワークスペース/ MSは/ PyMSになるだろうされていません。私は

>>> configParser('conffig.ini') # should not exist 
Traceback (most recent call last): 
    ... 
IOError: No such file: os.path.abspath(conffig.ini) 

をしたいだろうが、それはドキュメンテーション文字列であるため、それは結果の一部としてos.path.abspathを(見ている。

を私はドキュメンテーション文字列のテスト変数の結果を作ることができる方法は?

+0

なぜディスク上のファイルが存在しないかをテストしていますか?ファイルシステムの正しさを疑ういくつかの理由はありますか? – SingleNegationElimination

答えて

2

そしてちょうど出力のその部分をスキップするように省略記号を使用しない場合は、実際のパス名にマッチさせる必要がありますか?

>>> configParser('conffig.ini') # should not exist 
Traceback (most recent call last): 
    ... 
IOError: No such file: ... 

あなたは、あなたがエラーをキャッチする必要がありますない場合と手で値をテストしてください。次のようなものがあります:

>>> try: 
... configParser('conffig.ini') # should not exist 
... except IOError as e: 
... print('ok' if str(e).endswith(os.path.abspath('conffig.ini')) else 'fail') 
ok 
関連する問題