var d = new Date(xiYear, xiMonth, xiDate);
d.setTime( d.getTime() + d.getTimezoneOffset()*60*1000 );
Этот ответ специально разработан для исходного вопроса и не даст того ответа, который вы ожидаете. В частности, некоторые люди захотят вычесть смещение часового пояса, а не добавить его. Помните, однако, что весь смысл этого решения состоит в том, чтобы взломать объект даты в javascript для конкретной десериализации, а не во всех случаях.
По умолчанию unittest.main ()
использует тестовый загрузчик по умолчанию для создания TestSuite из модуля, в котором работает main.
У вас нет для использования этого поведения по умолчанию.
Вы можете, например, создать три экземпляра unittest.TestSuite .
«быстрое» подмножество.
fast = TestSuite ()
fast.addTests (TestFastThis)
fast.addTests (TestFastThat)
«Медленное» подмножество.
slow = TestSuite ()
slow.addTests (TestSlowAnother)
slow.addTests (TestSlowSomeMore)
«Весь» набор.
alltests = unittest.TestSuite ([быстро, медленно])
Обратите внимание, что я скорректировал имена TestCase, чтобы они указывали на быстрое и медленное. Вы можете создать подкласс unittest.TestLoader для анализа имен классов и создания нескольких загрузчиков.
Затем ваша основная программа может анализировать аргументы командной строки с помощью optparse или argparse (доступно с 2.7 или 3.2) чтобы выбрать, какой набор программ вы хотите запустить, быстро, медленно или все.
Или вы можете доверять sys.argv [1]
- одно из трех значений и использовать что-нибудь столь же простое, как это
if __name__ == "__main__":
suite = eval(sys.argv[1]) # Be careful with this line!
unittest.TextTestRunner().run(suite)
] У вас есть два основных способа сделать это:
Я решительный сторонник второго подхода; модульный тест должен тестировать только саму единицу кода, а не сложные системы (например, базы данных или кластеры). Но я понимаю, что это не всегда возможно; иногда создание макетов просто слишком дорого, или цель теста действительно заключается в сложной системе.
Вернувшись к варианту (1), вы можете продолжить следующим образом:
suite = unittest.TestSuite()
suite.addTest(MyUnitTestClass('quickRunningTest'))
suite.addTest(MyUnitTestClass('otherTest'))
а затем передать набор в исполнитель тестов:
unittest.TextTestRunner().run(suite)
Дополнительная информация о документации Python: http://docs.python.org/library/unittest.html#testsuite-objects
Попробуйте использовать специальный тестер, например py.test, нос или, возможно, даже zope.testing. Все они имеют параметры командной строки для выбора тестов.
Посмотрите, например, как Nose: https://pypi.python.org/pypi/nose/1.3.0