Мое приложение предоставляет статус в зависимости от даты и времени суток, которые предоставляются в качестве входных данных для пользовательского URL-адреса. Обычно он будет использовать текущее время (datetime.now()), но я хотел бы создать модульные тесты для проверки времени в будущем. Однако у меня возникли проблемы с использованием метки времени в качестве переменной для тестирования. Идеи? Вот код на данный момент:
URL.py:
urlpatterns = patterns('',
(r'^/(\w+)/status/$', 'app.views.fetch_status'),
# Normally:
#(r'^/(\w+)/status/$', 'app.views.fetch_status', {'timestamp': datetime.now() }),
...
просмотров.py:
def fetch_status(request, slug, timestamp):
...
тесты.py:
class TimeTests(TestCase):
fixtures = ['hours.json']
def testSchedule(self):
timestamp = datetime(2012, 6, 19, 5, 0)
client = Client()
response = client.get('/service/status/', {'timestamp': timestamp})
self.assertEqual(response.context['status'], 'closed')
Результат:
TypeError: fetch_status() takes exactly 2 arguments (1 given)