以下の関数が開き、Jsonファイルが読み込まれます。私の質問は、それをテストする最良の方法は何ですか?ユニットテスト機能を使用してjsonファイルを開く方法は?
def read_file_data(filename, path):
os.chdir(path)
with open(filename, encoding="utf8") as data_file:
json_data = json.load(data_file)
return json_data
filename
とpath
はsys.argvの年代として渡されます。私は私が実際に
class TestMyFunctions(unittest.TestCase):
def test_read_file_data(self):
sample_json = {
'name' : 'John',
'shares' : 100,
'price' : 1230.23
}
どれでもポインタを機能をテストするためにそれを使用する方法がわから開始のための私のテストケースのサンプルデータが必要ではないだろうと考え出し
が理解されるであろう。
'self.assertEqual(sample_json、read_file_data(ファイル名、パス))'すべてのコードの – DeepSpace
まずのみ標準PythonライブラリのAPIへの呼び出しを行っています。そのコードはすでにテストされており、再度テストするべきではありません。独自のコードをテストするだけです。第2に、関数はコードの外部にあるリソース(ファイル)の使用を伴います。単体テストでは通常、それらのリソースを模擬します。 [記事](https://www.toptal.com/python/an-introduction-to-mocking-in-python)はあなたにいくつかのアイデアを与えるかもしれません –