PythonのDjangoのTDDテストポスト処理要求

フロントエンドコード

<HTML>
    <タイトル> TODOリスト</ TITLE>
   <身体>
       <H1>のHello World </ H1>
       <フォームメソッド=「ポスト」>
           <入力名=「ITEM_TEXTが」ID =「id_new_itemが」プレースホルダ=「へタスク項目を入力してください」/>
           {%csrf_token%}
       </フォーム>
       <テーブルID = "id_list_table">
           <TR>
               <TD> {{new_item_text}} </ TD>
           </ TR>
       </ TABLE>
   </ BODY>
</ HTML>

 簡単に言えば、それは、提出されたデータを埋めるために、テキストボックスに返しますテーブルにデータを達成することです

主な機能テストコード

      入力= self.browser.find_element_by_id( "id_new_item")
      self.assertEqual(
         input.get_attribute(「プレースホルダ」)、#がでプロパティ値を取得します
         「に-Do項目を入力します」
      input.send_keys(「購入」)#フィルテキストボックス
      input.send_keys(Keys.ENTER)#回车
      time.sleep(1)
      表= self.browser.find_element_by_xpath( '// * [@ ID = "id_list_table"] / TBODY / TR / TD [1]')
      self.assertEqual(table.text、 '購入')
      事前にテストのself.fail(「完了検査」)#エンド

メインコードのユニットテストtests.py

    デフtest_can_save_a_POST_request(自己):#ポスト要求応答テスト、データが返された場合、テキストボックス
        応答= self.client.post( '/'、データ= { 'ITEM_TEXT': '新しいリストアイテム'})
        self.assertIn( '新しいリスト項目'、response.content.decode())
        self.assertTemplateUsed(応答、「home.html」)#レンダリングされたテンプレートに同じ応答するかどうかを検出します

 表示views.py

django.httpインポートからのHttpResponse
django.shortcutsインポートからのレンダリング
デフhome_page(リクエスト):
    データ= {}
    request.POST場合:
        データ[ "new_item_text"] = request.POST [ 'ITEM_TEXT']
    レンダリングリターン(要求、 'home.html' を、データ)

#ここにあなたの意見を作成します。

  

 

おすすめ

転載: www.cnblogs.com/chenminyu/p/11730665.html