【发布时间】:2012-06-25 20:30:03
【问题描述】:
我的应用程序根据作为自定义 URL 输入提供的日期和时间提供状态。通常它会使用当前时间(datetime.now()),但我想创建单元测试来验证未来的时间。但是,我在使用时间戳作为测试变量时遇到了问题。想法?到目前为止的代码如下:
urls.py:
urlpatterns = patterns('',
(r'^/(\w+)/status/$', 'app.views.fetch_status'),
# Normally:
#(r'^/(\w+)/status/$', 'app.views.fetch_status', {'timestamp': datetime.now() }),
...
views.py:
def fetch_status(request, slug, timestamp):
...
tests.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)
【问题讨论】:
标签: django unit-testing django-unittest