Я готовлю свои тесты, и у меня появляется одно предупреждение после запуска этого сценария:
class TestForm(unittest.TestCase):
def setUp(self):
with open('test_json.json') as f:
self.hd = json.load(f)
self.reader = csv.reader(open('test.csv'))
self.result = {}
for row in self.reader:
key = row[0]
self.result[key] = row[1:]
def test_1(self):
self.form = self.hd[0]['Customer'][0]['Information'][0]['Form']
self.exp = self.result['Form1'][0]
self.assertEqual(self.form, self.exp)
def test_2(self):
self.form = self.hd[1]['Customer'][0]['Information'][0]['Form']
self.exp = self.result['Form2'][0]
self.assertEqual(self.form, self.exp)
Ошибка:
.C:\Program Files\Python\3.5.1\lib\unittest\suite.py:107: ResourceWarning: unclosed file <_io.TextIOWrapper name='test.csv' mode='r' encoding='cp1250'>
for index, test in enumerate(self):
Сценарий завершен, но эта ошибка странная.Я заметил, что это происходит только тогда, когда эта часть находится в функции setUp
:
with open('test_json.json') as f:
self.hd = json.load(f)
self.reader = csv.reader(open('test.csv'))
self.result = {}
for row in self.reader:
key = row[0]
self.result[key] = row[1:]
Когда я использую ее за пределами TestForm
, в сценарии нет предупреждения.Должен ли я переместить его обратно за пределы class TestForm
или даже сделать это в другом файле?