1

私のアプリケーションは、カスタム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)
4

1 に答える 1

1

タイムスタンプ パラメータを含めないようにパターンを変更したのはなぜですか? その外観から、エラーに基づいて、関数はもう1つの引数を期待していますが、パターンを変更したため、実際には提供していません。

于 2012-06-25T20:40:18.263 に答える