В моем коде у меня есть игроки класса с методом add_player:
class Players:
def __init__(self):
self.players = Player.objects.all()
self.active_player_index = 0
def add_player(self, player):
player.save()
В своем тесте я попытался сделать это:
class PlayersTest(unittest.TestCase):
def setUp(self):
self.players = Players()
self.players.players = []
def fake_add_player(self, player):
self.players.players.append(player)
@patch.object(myproject.entities.Players, 'add_player', fake_add_player)
def test_add_players(self):
self.players.add_player(Player('player', 'blue', True))
self.assertEqual(len(self.players.players), 1)
При запуске этого теста я получаюошибка " AttributeError: <module 'riskgame.entities.Players' from '/entities/Players.py'> does not have the attribute 'add_player'
.Что не так в этом тесте?Есть ли лучшие способы сделать юнит-тесты Django?