Вывод pyneng
Warning
В конце вывода теста часто написано “1 warning”. Это можно игнорировать, предупреждения в основном связаны с работой каких-то модулей и скрыты чтобы не отвлекать от заданий.
Тесты прошли успешно
Тесты не прошли
Когда какие-то тесты не прошли, в выводе показываются отличия между тем как должен выглядеть вывод и какой
вывод был получен.
Проверка правильности вывода в тесте проверяется с помощью выражения assert ...
. Два самых распространенных варианта (98% тестов):
assert correct_return_value == return_value
assert correct_output in return_output
assert x == y
В большинстве заданий проверяется равенство двух значений:
assert correct_return_value == return_value
В этом случае, тест выводит Left как правильный ответ зеленого цвета, а Right как вывод задания красного цвета. В этом задании надо было вывести строку с GigabitEthernet, а была выведена FastEthernet:
Другие примеры вывода, с разными отличиями, но тут во всех случаях left (зеленое) это правильный результат, а rigth (красное) то что было получено при запуске задания:
Тут отличие в том, что надо вывести MAC-адрес с точками, а выведен с двоеточиями:
В задании надо получить список с вланами, где каждый влан отдельный элемент списка, а получен список с одной строкой, в которой написаны все вланы:
Отличие с правильным результатом в том, что в правильном выводе не должно быть квадратных скобок []
:
assert x in y
Выражение assert x in y
проверяет находится ли нужный вывод в полученном результате задания.
Например, в тесте это может выглядеть так:
assert correct_stdout in out.strip()
В этом случае Left (зеленый) это правильный вывод, right вывод задания:
Неправильный тип данных
Кроме отличий в результате, может также отличаться тип данных. Например, по заданию надо получить список, а получена строка. В этом случае проще всего читать сообщение ошибки (выделено):
В тесте проверка типа данных выглядит так
assert (
type(task_4_3.result) == list
), f"По заданию в переменной result должен быть список, а в ней {type(task_4_3.result).__name__}"
И для проверки типов left это то что получено в задании, а right то что должно быть. При этом, так как в этом случае генерируется понятное сообщение, проще читать его.
Leave a Comment