1
例えば、私はリストにアクセスしようとするいくつかのコードを持っている:Pythonでリストをモックする方法は?
def some_code():
script_dir = os.path.dirname(sys.argv[0])
私はsys.argv[0]
を模擬する必要があります。
import os
import sys
THIS_DIR = os.path.dirname(os.path.abspath(__file__))
@mock.patch.object(sys, 'argv', mock.Mock(return_value=[THIS_DIR]))
def test_mytest():
some_code()
しかし、これは動作しません。だから私は、私のテストに@patch.object
を追加します。 Pytestはエラーを発生させます:
> script_dir = os.path.dirname(sys.argv[0])
E TypeError: 'Mock' object does not support indexing
私は間違っていますか?
おかげマルタイン、 "mock.patch.object @(SYS、 'ARGV'、[THIS_DIR])" バージョン作品! – kinORnirvana