Отображение даты на мгновение добавляет неделю

Простым методом для упорядочения тестов «unittest» является следовать механизму init.d, давая им числовые имена:

def test_00_createEmptyObject(self):
    obj = MyObject()
    self.assertIsEqual(obj.property1, 0)
    self.assertIsEqual(obj.dict1, {})

def test_01_createObject(self):
    obj = MyObject(property1="hello", dict1={"pizza":"pepperoni"})
    self.assertIsEqual(obj.property1, "hello")
    self.assertIsDictEqual(obj.dict1, {"pizza":"pepperoni"})

def test_10_reverseProperty(self):
    obj = MyObject(property1="world")
    obj.reverseProperty1()
    self.assertIsEqual(obj.property1, "dlrow")

Однако в таких случаях вам может потребоваться структурировать ваши тесты иначе, чтобы вы могли опираться на предыдущие случаи строительства. Например, в вышесказанном, может иметь смысл иметь функцию «construct и veirfy», которая строит объект и проверяет его назначение параметров.

def make_myobject(self, property1, dict1):  # Must be specified by caller
    obj = MyObject(property1=property1, dict1=dict1)
    if property1:
        self.assertEqual(obj.property1, property1)
    else:
        self.assertEqual(obj.property1, 0)
    if dict1:
        self.assertDictEqual(obj.dict1, dict1)
    else:
        self.assertEqual(obj.dict1, {})
    return obj

def test_00_createEmptyObject(self):
    obj = self.make_object(None, None)

def test_01_createObject(self):
    obj = self.make_object("hello", {"pizza":"pepperoni"})

def test_10_reverseProperty(self):
    obj = self.make_object("world", None)
    obj.reverseProperty()
    self.assertEqual(obj.property1, "dlrow")
2
задан Babyburger 17 January 2019 в 13:58
поделиться

1 ответ

Это потому, что большая часть человечества использовала юлианский календарь в 1235 году, и с тех пор перешла на григорианский.

Даты Java в старом стиле делают все возможное, чтобы учесть это, когда они могут определить локаль при переключении с Джулиана на Календарь.

Когда эти изменения были сделаны, дата в этих странах переключилась на другое место в календаре, что выглядело так, как будто дата пропустила несколько дней.

Более новая система java.time. * Игнорирует историческое существование юлианских календарей и плохо подходит для представления временных промежутков в исторических датах.

0
ответ дан kumesana 17 January 2019 в 13:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: