天気悪いので

この週末も自宅合宿か。最近めっきりインドアなソレです。

ちょっと面倒

feedjack の中に以下の試験を置いて動作する事を確認。

import unittest
from django.test.client import Client

class SimpleTest(unittest.TestCase):
    def setUp(self):
        self.client = Client(HTTP_HOST = '127.0.0.1')
    def test_details(self):
        response = self.client.get('/rss/')

        self.failUnlessEqual(response.status_code, 200)

しかしこれ、

  1. clone したディレクトリ内で試験を書く
  2. スデに install 済みだったら site-packages から削除
  3. python setup.py install する
  4. 試験なプロジェクトにて manage.py test

という操作が必要。でも上記の記述って Feedjack 側に書いてええのかどうか微妙。

続き

試験を書く内に fixture が必要な事が判明。ハマり中です。データが微妙なのは分かってるんですが ...
もう少し色々ヤッてみる予定ですが今日は調子悪いので駄目かも。書いてる試験は

import unittest
from django.test.client import Client

class UrlTest(unittest.TestCase):
    fixtures = ['fixtures/test.json']
    
    def setUp(self):
        self.client = Client(HTTP_HOST = '127.0.0.1')

    def test_root(self):
        response = self.client.get('/rss/')
        self.failUnlessEqual(response.status_code, 200)
        self.failUnlessEqual(response.template.name, "feedjack/default/post_list.html")

    def test_rss20xml(self):
        response = self.client.get('/rss/rss20.xml')
        self.failUnlessEqual(response.status_code, 301)

    def test_feed(self):
        response = self.client.get('/rss/feed/')
        self.failUnlessEqual(response.status_code, 301)

    def test_feedrss(self):
        response = self.client.get('/rss/feed/rss/')
        self.failUnlessEqual(response.status_code, 200)

    def test_feedatom(self):
        response = self.client.get('/rss/feed/atom/')
        self.failUnlessEqual(response.status_code, 200)

    def test_feeduser(self):
        response = self.client.get('/rss/feed/user/3/')
        self.failUnlessEqual(response.status_code, 301)

    def test_feedtag(self):
        response = self.client.get('/rss/feed/tag/django/')
        self.failUnlessEqual(response.status_code, 301)

    def test_feedatomuser(self):
        response = self.client.get('/rss/feed/atom/user/3/')
        self.failUnlessEqual(response.status_code, 200)

    def test_feedrssuser(self):
        response = self.client.get('/rss/feed/rss/user/3/')
        self.failUnlessEqual(response.status_code, 200)

    def test_usertag(self):
        response = self.client.get('/rss/user/3/tag/django/')
        self.failUnlessEqual(response.status_code, 200)

    def test_user(self):
        response = self.client.get('/rss/user/3/')
        self.failUnlessEqual(response.status_code, 200)

    def test_tag(self):
        response = self.client.get('/rss/tag/django/')
        self.failUnlessEqual(response.status_code, 200)

なカンジなんですが、もう面倒なので Feedjack 参考にしてイチから作った方がいいのかなぁ。一応データは

$ python manage.py dumpdata > init.json

でオトしたナニですが、置き場所とかが合ってるのかどうなのか不明。