Форум сайта python.su
Привет всем,
Я хочу сделать проверку данных которые находятся в csv и переменой. Я использую для этого unittest. Проверка получается, но есть проблема что если данные не совпадают я не могу знать где проблема, а именно в csv или в переменой. Как можно получить информацию в каком месте есть ошибка?
tb_row = [u'120 dev 15.61', u'126 kor 12.96', u'128 itsw 20.58'] for i, x in enumerate(tb_row): tb_row[i] = x rows = [] with open('/home/andrey/Desktop/test.csv', 'rb', ) as csvfile: the_file = csv.reader(csvfile, delimiter=',') for row in the_file: rows.extend([x.decode('utf8') for x in row]) q = u' '.join(tb_row).split() w = u' '.join(rows).split() for index, value in enumerate(q): # comparing csv with web self.assertEqual(w[index], value)
Отредактировано dron4ik86 (Ноя. 3, 2016 11:20:30)
Офлайн
Тесты должны быть простыми настолько, чтобы их самих не нужно было тестировать. То есть максимальная простота, где ошибки не возникнет. А ты тут что-то наворотил.
Офлайн
py.user.nextА что я здесь натворил не так?
Тесты должны быть простыми настолько, чтобы их самих не нужно было тестировать. То есть максимальная простота, где ошибки не возникнет. А ты тут что-то наворотил.
Офлайн
dron4ik86Ну, ты толи сложный тест написал, толи используешь unittest не по назначению. Если второе, то ты делаешь не то. Если первое, то тест надо упростить.
А что я здесь натворил не так?
dron4ik86В общем, вопрос - с чего ты решил использовать unittest?
Я использую для этого unittest.
Отредактировано py.user.next (Ноя. 3, 2016 12:44:56)
Офлайн
py.user.nextИспользую unittest для авто тестов Selenium+Python. Я получаю элементы и сравниваю их с csv, не вижу здесь какой то проблемы, просто хочу знать от, куда приходит ошибка, с сайта или с файла
Офлайн
dron4ik86Почитай что-нибудь по тестированию, потому что это слишком сложные тесты, в которых запросто может быть какая-нибудь ошибка, из-за которой тест будет выдавать неправильный результат (неправильно тестировать) и ты даже об этом не узнаешь. Будешь думать, что он тестирует, а он нифига не тестирует. Если для теста нужно писать тест, то это плохой тест.
Я получаю элементы и сравниваю их с csv, не вижу здесь какой то проблемы
Офлайн
первые три строки ничего полезного не делают:
tb_row = [u'120 dev 15.61', u'126 kor 12.96', u'128 itsw 20.58'] tb_row_copy = list(tb_row) for i, x in enumerate(tb_row): tb_row[i] = x if(tb_row == tb_row_copy): print('useless')
u' '.join(rows).split()
chain.from_iterable(x.split() for x in tb_row])
Отредактировано izekia (Ноя. 4, 2016 13:06:24)
Офлайн