- Moté,
Hello,
Je me doute que mon titre n’est pas très clair, mais je ne savais pas comment rester assez court sinon.
Mon soucis est relativement simple. Je fais des tests pour vérifier qu’une view ressort bien les bonnes informations. La view d’une enterprise doit afficher toutes ses adresses par exemple. Donc, dans le setup de mon test, je crée l’entreprise, et j’associe ses adresses. Dans le test en lui-même, dois-je vérifier la présence de l’adresse en tant que format brut, ou dois-je plutôt véréfier la présence de l’adresse liée à l’objet ?
Avec les exemples, ce sera plus clair :
class EnterpriseViewAdressesTestCase(TestCase):
def setUp(self) -> None:
self.one_address = models.Enterprise(name="Enterprise 1")
self.one_address.save()
self.url_one_address = reverse(ENTERPRISE_VIEW, args=[self.one_address.pk])
self.one_address_address = models.Address(
enterprise=self.one_address,
text_version="address 1 of one_address",
geolocation=Point([10, 10]),
is_production=False,
)
# On teste l’adresse reliée directement à l’objet Adresse
def test_returns_one_address_text_version(self) -> None:
response = self.client.get(self.url_one_address)
self.assertContains(response, self.one_address_address.text_version)
# Ou alors on teste l’adresse en texte brut ?
def test_returns_one_address_text_version(self) -> None:
response = self.client.get(self.url_one_address)
self.assertContains(response, "address 1 of one_address")
J’ai pour l’instant utilisé la première version, qui me semble un poil plus propre et plus évolutive. Je me dis aussi que si l’application n’enregistre pas comme il faut l’adresse, alors c’est à un autre test de le fair remarquer, non ?
Voilà, c’est la ma question, c’est un peu tout con, mais je voulais être sûr, merci