Простым методом для упорядочения тестов «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")
Это потому, что большая часть человечества использовала юлианский календарь в 1235 году, и с тех пор перешла на григорианский.
Даты Java в старом стиле делают все возможное, чтобы учесть это, когда они могут определить локаль при переключении с Джулиана на Календарь.
Когда эти изменения были сделаны, дата в этих странах переключилась на другое место в календаре, что выглядело так, как будто дата пропустила несколько дней.
Более новая система java.time. * Игнорирует историческое существование юлианских календарей и плохо подходит для представления временных промежутков в исторических датах.