2017-03-07 4 views
0

RoutablePageMixinを使用するWagtailページのビュー機能をテストしたいとします。 Wagtailにはtesting functionalityが含まれていることがわかりましたが、別のURLのコンテンツをチェックしようとしています。 Wagtailのテスト機能は動作しますが、self.client.getを使ったテストは機能しません - 私は404応答を得ます。私は次のテストをしようとしています:client.getを使用してWagtailページビューをテストする

私はエラーがページの作成方法にあると仮定します。私はいくつかの方法を使用してきましたが、これが機能する方法を見つけることはできません。

def setUp(self): 
    self.login() 
    parent = Page.get_root_nodes()[0] # Home 

    self.assertCanCreate(parent, MyPage, { 
     'title': 'Title!', 
     'title_sv': 'Title2!', 
     'slug': 'test', 
     'published': datetime.datetime.now(), 
    }) 

    self.page = MyPage.objects.get(slug='apply') 

サブページは手動でテストされており、正常に動作しているようです。

答えて

1

テストコード内のページを作成する最も簡単な方法(または任意の他のコードが...)です:Page.get_root_nodes()[0]は、あなたのサイトのホームページを返さないことを

parent = Page.objects.get(url_path='/home/') 
page = MyPage(title='Title!', slug='test', body='...') 
parent.add_child(instance=page) 

注 - ツリーのルートは編集できプレースホルダ、およびサイトのホームページは通常、その子です。 ルートの子をさらに作成することはできますが、対応するサイトレコードを与えない限り、どのURLでもアクセスできなくなります(おそらくテストで404を取得している可能性があります)。

+0

ありがとうございます!これは私の問題を解決しました! – Dekker

関連する問題