Я создаю класс, основанный только на выводах, которые я собираю, просматривая предварительно написанные тестовые примеры Unittest. Unittest проверит мой класс и выполнит проверку утверждений относительно его функций.
Я не могу изменить проверки утверждений : я их не писал.
Я не настолько продвинут, как Юнитест или Панды, я все еще сомневаюсь, могут ли какие-то из предварительно написанных тестов утверждений возвращать Истину ... или даже Ложь. Я здесь, чтобы выделить только один на данный момент. Я хотел бы знать, есть ли какой-либо способ (например, каким-либо образом, которого я сейчас не вижу), что этот один тестовый случай может когда-либо вернуть либо True, либо False.
Сравнение выполняется, если значение столбца в Pandas DataFrame == какое-то значение. Мол, assertTrue(df['Age'] == 21)
. Ошибка - которую я полностью понимаю почему я получаю - это ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
Имеет смысл: я возвращаю серию панд, которая возвращает серию bools, а не одно значение. Кроме того, если вы (могли бы даже) использовать методы, упомянутые выше, вы все равно не получите число, а только значение True или False, например False == 21
или True == 21
, оба из которых = False.
Тем не менее, из формата проверки утверждения, assertTrue(df['Age'] == 21)
, похоже, что тест все равно ожидает одно значение.
И если это возможно, У меня нет интуитивного представления, как это можно сделать, чтобы работать. Итак, мой вопрос: это может работать? Это связано с какой-то перегрузкой операторов или как?
Опять же, я считаю себя новичком в Пандах и Юниттесте. Я буду рад предоставить любую другую необходимую информацию, в том числе больше кода, но мой вопрос больше о том, можно ли выполнить вышеупомянутый тест утверждения или нет, и если да, то как к нему можно подойти.
Спасибо!