0
いくつかの条件が満たされたときにTypeErrorを発生させる関数があります。pytestパラメーターで型エラーメッセージを使用
def myfunc(..args here...):
...
raise TypeError('Message')
pytestパラメータを使用してこのメッセージをテストします。
しかし、私は他の引数を使用していますまた、私はこのような設定にしたいので:パラメータ化のテストデータに期待される出力としてMessage
を入れ
testdata = [
(..args here..., 'Message'), # Message is the expected output
]
@pytest.mark.parametrize(
"..args here..., expected_output", testdata)
def test_myfunc(
..args here..., expected_output):
obs = myfunc()
assert obs == expected_output
シンプルで、私の失敗のテストを提供します。
のようなものになるだろう私 'はAttributeErrorがスローされます: '例外TypeError' オブジェクトは何の属性がありません 'message''、または'はAttributeError: 'をとValueError 'STRで – George
をmessage''' オブジェクトが属性を持っていません' (excinfo.value) 'うまく動作します!excinfoだけでもファイルのパスがわかります!正しい答えに修正してください。ありがとう! (私のコード 'raise TypeError( '{0}'。書式(message))'でraiseを期待していたら、 'message'を予期した出力に渡す方法はないと思いますよね? :)私が望んでいない機能の議論としてそれを使用すればもちろんです。 (upvoted) –
をexpected_exception_message' STR(excinfo)=='とみ@George – George