Прежде всего, спасибо за ваше время и извините за мой английский.
Я изучаю Django, у меня было несколько лет разработки на python, и я решил начать проверять этот фреймворк. И я получаю странные ответы. Я пишу TestCase, который отлично работает вне Test.
Это код:
class BoardTopicsTests(TestCase):
# Hago las acciones necesarias para empezar el test
def setUp(self):
self.board = Board(name="Django", description="Django board.")
# self.board.save()
# Compruebo el status_code 200
def test_board_topics_view_status_code(self):
# self.board.save()
url = reverse("board_topics", kwargs={"pk":1})
response = self.client.get(url)
self.assertEqual(response.status_code, 200)
# Compruebo el status_code 404
def test_board_topics_view_not_found_status_code(self):
url = reverse("board_topics", kwargs={"pk" : 99})
response = self.client.get(url)
self.assertEqual(response.status_code, 404)
# Compruebo que resuelve bien el board
def test_board_topics_url_resolves_board_topics_views(self):
view = resolve("/boards/1/")
self.assertEqual( view.func.__name__, BoardTopics.as_view().__name__ )
Если я сохраняю доску в setUp, метод test_board_topics_view_status_code возвращает 404, если я сохраняю доску внутри метода, он возвращает 200 и проходит тест.
Я думаю, что что-то упустил, потому что я думаю, что он должен работать, сохраняя метод setUp!
Пожалуйста, может кто-нибудь помочь с этим? Это просто для целей обучения, потому что я хочу знать, что там происходит.
Если я печатаю (self.board.id) внутри test_board_topics_view_status_code, он возвращает 1, как и должно быть.
Большое спасибо!