2017-06-11 6 views
0

これはテストTrelloのAPIのための私のコードです:単体テスト用PythonのunittestのPUTメソッド - ステータスコードのエラーを取得

import string 
import random 
import requests 
from settings import * 

nonce = lambda x: ''.join(random.choice(string.ascii_uppercase + string.digits) for _ in range(10 if not x else x)) 

def get_board_detals(board_id): 
    url = "https://trello.com/1/boards/" + board_id 
    params = {"key":key, 
      "token":token} 
    return requests.get(url=url, params=params) 

def post_board_name(board_name): 
    url = "https://api.trello.com/1/boards" 
    params = {"key": key, 
      "token": token, 
      "name": board_name} 
    return requests.post(url=url, params=params) 

def put_new_board_name(board_id): 
    url = "https://api.trello.com/1/boards" + board_id 
    params = {"key": key, 
       "token": token} 
    return requests.put(url=url, params=params) 

やコード:

import unittest 
from board_details import * 

class BoardDetails(unittest.TestCase): 
    def setUp(self): 
     self.name = nonce(10) 

    def test_put_new_name(self): 
     result_post = post_board_name(self.name) 
     board_id = result_post.json()['id'] 

     result_put = put_new_board_name(board_id) 
     self.assertEqual(result_put.status_code, 200) 
     self.assertIn(result_put.json()['name'], self.name) 


if __name__ == '__main__': 
    unittest.main() 

私は、コードを実行すると、私は受け取りますエラー:AssertionError: 404 != 200。 なぜそれがそうなのかわからない、誰かが私のエラーの理由を指摘できるだろうか?

+1

あなたは404を返してアクセスしているURL(見つかりません)あなたは200 OKを期待していました。別の方法でURLを確認してください。 – paisanco

+0

ええ、私はそれが何を意味するか知っています。謝罪、私は間違った方法で私の質問を策定しました。私は、関数またはメソッドのいずれかにエラーがあると思います。私はどこにいてもわからない。 – Mina

+1

OK心配はありませんあなたは、呼び出し時にURLが正しく形成されていると確信していますか? 。 – paisanco

答えて

0

私はこのようにそれをやったし、正常に動作するようです:

機能:

def put_new_board_name(board_id, board_name): 
    url = "https://api.trello.com/1/boards/" + board_id +"/name" 
    params = {"key": key, 
       "token": token, 
       "value" : board_name} 
    return requests.put(url=url, params=params) 

と方法:

def test_put_new_name(self): 
    result_post = post_board_name(self.name) 
    board_id = result_post.json()['id'] 

    result_put = put_new_board_name(board_id, board_name=self.name) 
    self.assertEqual(result_put.status_code, 200) 
    self.assertIn(result_put.json()['name'], self.name) 
関連する問題