Résolue

Avis TestCase

# Django # Tests unitaires

Gabriel Trouvé

Mentor

Bonjour,

Je me demandais si ma manière était la bonne. Je test mon NetRPG qui est assez lourd à tester (j'ai un setUp de malade ahah).

En gros si le bouclier est à 0 c'est la vie qui prend.

J'ai donc fait un test pour voir si le bouclier était touché, et un test pour voir si la vie était touchée si pas de bouclier.

Mes tests ont l'air bien ou je m'y prends mal ?

Merci d'avance ^^

    def test_enemy_attack(self):
        self.hero1.is_active = True
        self.hero1.save()
        self.client.force_login(self.hero1)
        # Given a character and an enemy

        # When character attacks enemy
        self.client.post(reverse("rpg:attack", kwargs={"story_id": "jersey"}))

        # the number of shield points decreases (for character and enemy)
        self.character_user1.refresh_from_db()
        self.enemy_user.refresh_from_db()
        self.assertTrue(self.character_user1.shield < self.character.shield)
        self.assertTrue(self.enemy_user.shield < self.enemy.shield)

    def test_enemy_attack_without_shield(self):
        self.character_user1.shield, self.enemy_user.shield = 0, 0
        self.character_user1.save()
        self.enemy_user.save()
        self.hero1.is_active = True
        self.hero1.save()
        self.client.force_login(self.hero1)
        # Given a character and an enemy without shield

        # When character attack enemy
        self.client.post(reverse("rpg:attack", kwargs={"story_id": "jersey"}))

        # The life is decreases (for character and enemy)
        self.character_user1.refresh_from_db()
        self.enemy_user.refresh_from_db()
        self.assertTrue(self.character_user1.life < self.character.life)
        self.assertTrue(self.enemy_user.life < self.enemy.life)

Inscris-toi

(c'est gratuit !)

Inscris-toi

Tu dois créer un compte pour participer aux discussions.

Créer un compte

Rechercher sur le site

Formulaire de contact

Inscris-toi à Docstring

Pour commencer ton apprentissage.

Tu as déjà un compte ? Connecte-toi.