Странное поведение при тестировании: работает без проблем, но выдает ошибку при тестировании - PullRequest
0 голосов
/ 10 июля 2019

У меня есть небольшая функция, которая округляет десятичные числа, и моя функция выглядит следующим образом:


from decimal import Decimal, ROUND_UP

def convert_decimal(decimal_number):
    return decimal_number.quantize(Decimal('0.01'), rounding=ROUND_UP)

В моем коде он работает правильно, когда я без проблем запускаю проект django. Функция работает без ошибок.

Но когда я пытаюсь выполнить приведенный ниже код, он выходит из строя со странной ошибкой:

class UtilityFunctionsTests(TestCase):

def test_decimal_number(self):
        decimal_number = Decimal("23.54646354745375634756868")
        converted = convert_decimal(decimal_number)
        self.assertEqual(converted, Decimal("23.55"))

Ошибка ошибки выглядит следующим образом:

integration/tests/test_base_updater.py:78: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

decimal_number = Decimal('23.546463547453758025085335248149931430816650390625')

    def convert_decimal(decimal_number):
>       return decimal_number.quantize(Decimal('0.01'), rounding=ROUND_UP)
E       decimal.InvalidOperation: [<class 'decimal.InvalidOperation'>]

entegrasyon/tests/test_base_updater.py:11: InvalidOperation
...