Python 单元测试 PUT 方法 - 获取状态代码错误

Python unittest PUT method - getting error for status code

这是我用于测试 Trello 的代码 API:

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。 我不知道为什么会这样,有人能指出我错误的原因吗?

我是这样做的,它似乎工作正常:

函数:

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)