Уведомления

Группа в Telegram: @pythonsu

#1 Март 4, 2018 10:41:15

Florenzo
Зарегистрирован: 2013-06-05
Сообщения: 23
Репутация: +  0  -
Профиль   Отправить e-mail  

тесты: таблица умножения как тестировать, assert-ы не помогают

вот кривая таблица умножения:

  
for y in range(1,11):
    for z in range(1,11):
          print(z*y, end=" ")
    print() #

вот нормальная таблица:

 for y in range(1,11):
    for z in range(1,11):
          d = str(z*y).rjust(3)
          print(d, end=" ")
    print()

как я могу написать тесты, чтобы любая “кривая” таблица вываливала ошибку,
а “нормальная” проходила. В идеале - с разными размерами.

Смотрел и doctest-ы и unittest-ы, вижу, что с помощью всяких assertEqual-ов эту проблему не решить.
А как?

разве что по каждой строке return делать и сравнивать - но зело громоздко это!

Офлайн

#2 Март 4, 2018 11:43:36

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10003
Репутация: +  857  -
Профиль   Отправить e-mail  

тесты: таблица умножения как тестировать, assert-ы не помогают

1 2 3 4 5 6 7 8 9 10 
2 4 6 8 10 12 14 16 18 20
3 6 9 12 15 18 21 24 27 30
4 8 12 16 20 24 28 32 36 40
5 10 15 20 25 30 35 40 45 50
6 12 18 24 30 36 42 48 54 60
7 14 21 28 35 42 49 56 63 70
8 16 24 32 40 48 56 64 72 80
9 18 27 36 45 54 63 72 81 90
10 20 30 40 50 60 70 80 90 100

1 2 3 4 5 6 7 8 9 10
2 4 6 8 10 12 14 16 18 20
3 6 9 12 15 18 21 24 27 30
4 8 12 16 20 24 28 32 36 40
5 10 15 20 25 30 35 40 45 50
6 12 18 24 30 36 42 48 54 60
7 14 21 28 35 42 49 56 63 70
8 16 24 32 40 48 56 64 72 80
9 18 27 36 45 54 63 72 81 90
10 20 30 40 50 60 70 80 90 100
Самый простой тест - это определить символьную длину первой строки и сравнить её с символьными длинами остальных строк. Если хоть одна строка по длине не равна первой строке, то таблица неправильная.



Отредактировано py.user.next (Март 4, 2018 11:44:07)

Офлайн

#3 Март 7, 2018 21:16:35

Florenzo
Зарегистрирован: 2013-06-05
Сообщения: 23
Репутация: +  0  -
Профиль   Отправить e-mail  

тесты: таблица умножения как тестировать, assert-ы не помогают

Спасибо за идею, реализовал с помощью простых assert-ов. без док- и юнит-
как раз тут, наверно самое то.


Офлайн

#4 Март 8, 2018 03:14:57

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10003
Репутация: +  857  -
Профиль   Отправить e-mail  

тесты: таблица умножения как тестировать, assert-ы не помогают

Используй py.test для юнит-тестирования на питоне.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version