SpamException
module に例外クラスを定義しましたspam
。spam_function
ここで、この例外を発生させる関数をテストしたいと思います。そこで、次の doctest を書きました。
>>> spam_function()
Traceback (most recent call last):
....
SpamException
テストは Python 2.x では成功しますが、Python 3.x では失敗します。次のテストは Python 3.x で動作します。
>>> spam_function()
Traceback (most recent call last):
....
spam.SpamException
ここでの注目すべき違いは、例外名にモジュール名が含まれていることです。では、Python 2.x と 3.x の両方で動作する doctest を作成するにはどうすればよいでしょうか?