ts du module, nous devons appeler la fonction ''main'' du module ''unittest''. Ainsi, pour lancer l’ensemble des tests, nous devons ajouter à la fin du fichier un ''main'' avec l’appel de la fonction ''unittest.main()''.
<code python>
if __name__ == "__main__":
unit
r créer des objets d’une classe spécifique. À la fin du chapitre précédent, nous avons écrit quelques constructeurs. Utilisons-les enfin pour créer un objet.
Voici un exemple qui crée u... selon la position donnée."""
if position in cls.positions:
return f"On a trouvé u... modifiera dans toutes les autres** !
</note>
Enfin, les **attributs statiques** sont des attributs q
ent appelé. C’est pourquoi %%if __name__ == "__main__"%% est utile.
++++
**Une Exception est déclen... la composition ?**
1.<code python>
class SteamTrain:
"""Un train à vapeur."""
def __init__(self):
self.locomotive = {"color": "gray", "c... "coal"] -= 10
</code>
2.<code python>
class Train:
"""Classe de base pour les trains."""
eb qui s'appelle "Le test ultime"!
Vous allez enfin découvrir qui vous êtes vraiment ! Avez-vous déjà... de : **Python**.
De quels outils aurons-nous besoin ?
* Un **langage de programmation** : nous par... trouver rapidement, c'est pourquoi nous avons besoin d'une base de données.
* Un service qui nous pe... z une application web, vous avez **toujours** besoin de gérer les requêtes HTTP, d'un serveur web, d'a
el commence à tracer des lettres. Indiquez "50" afin de commencer à écrire à 50px du bord supérieur.
... isée.
font = ImageFont.truetype(os.path.join('fbapp', 'static', 'fonts', 'Arcon-Regular.otf'),... current_h, pad = 180, 10
for sentence in sentences:
w, h = self.print_on_img(b... isée.
font = ImageFont.truetype(os.path.join('fbapp', 'static', 'fonts', 'Arcon-Regular.otf'),
tant que développeur, mais dès que vous aurez besoin que quelqu’un d’autre utilise un projet, ou que v... ammes Python :
<code python>
if __name__ == "__main__":
do_something()
print("Hello, World")
... entre la variable %%__name__%% et le nom %%__main__%%.
Mais pourquoi ? Je ne nomme jamais mes fichiers %%__main__%%, moi !
En effet, ce nom n’est pas un nom que
m/fr/courses/5647281-appliquez-le-principe-du-domain-driven-design-a-votre-application|Appliquez le principe du Domain-Driven Design à votre application]]), et en prena... ctionnalités additionnelles pourrait-on avoir besoin à l’avenir ? Comment vous assurer que votre code ... vole!")
class Parrot(Bird):
pass
class Pinguin(Bird):
pass # Pourtant le pinguin ne vole pas..
ion, multiplication et division).
Le fichier ''main.py'' est le point d’entrée de l’application. Le f... tests que de fonctions...
Mais faire cela est loin d'être idéal. Réfléchissons un instant. Pourquoi ... mplémentation.
==== Rappels sur l'Objet ====
Afin de **comprendre ce qu'il est préférable de tester... s navettes. Elle sait uniquement ce qu'elle a besoin de savoir pour son bon fonctionnement à elle.
La
avec pip.
<code bash>
cd TestUltime/
source env/bin/activate
pip3 install flask
</code>
Créer un fi... :
return "Hello world !"
if __name__ == "__main__":
app.run()
</code>
Tester que Flask fonct... NING: This is a development server. Do not use it in a production deployment. Use a production WSGI se... lignes suivantes :
<code python run.py>
#! /usr/bin/env python
from fbapp import app
if __name__ ==
ns le champ ''Domaines de l'app''. Facebook a besoin de connaître l'URL que vous autorisez pour éviter... isée ailleurs. Enregistrez les modifications.
Enfin, copiez l'ID de l'app et remplacez l'ancien dans ... mot de passe de l'utilisateur. Vous en aurez besoin !
Vous pouvez maintenant tester le projet avec l... n et création de compte" est active ("Facebook Login").
Vous n'avez pas à implémenter le Facebook Log
"), Person("Bob"), Person("Carol")]
for volunteer in volunteers:
volunteer.walk()
# Ici, nous rep... e"), Fish("Wanda"), Person("Bob")]
for volunteer in volunteers:
volunteer.walk() # Oops!
</code>... st[int]) -> int:
max_value = 0
for number in numbers:
if number > max_value:
... être utilisé ainsi :
<code python>
for volunteer in volunteers:
if hasattr(volunteer, "walk"):
rrespondent aux spécifications fonctionnelles.
Afin de bien comprendre les différents tests, imaginon... le nombre de crocodiles et le nombre d'humains, afin de s'assurer que l'un n'a pas mangé l'autre.
==... r d’une méthode ou d’une fonction, par exemple. Afin qu’un test unitaire soit considéré comme tel, il ... as poser de problème lors de son intégration au sein de l’application.
En effet, sur un projet nous a
Mais ne vous inquiétez pas : vous n'aurez pas besoin d'apprendre un nouveau langage. Nous allons utili... vous ai dit précédemment que vous n'aviez pas besoin d'apprendre SQL car Flask intégrait un outil qui ... QLALCHEMY_DATABASE_URI = 'sqlite:///' + os.path.join(basedir, 'app.db')
</code>
Cela permettra à l'OR... es, un booléen ?
Dans ce cours nous n'aurons besoin que d'une table (Content) qui contient trois cham
_for('static', filename='css/bootstrap/bootstrap.min.css')
</code>
Ceci générera le lien suivant : ''/static/css/bootstrap/bootstrap.min.css''.
Intégrez-la dans ''index.html'' ! Mais si... late, elle sera interprétée comme du HTML pur.
Afin d'indiquer au moteur de template (Jinja 2) que vo... _for('static', filename='css/bootstrap/bootstrap.min.css') }} <!-- La phrase sera affichée dans la pag
h>
python3 demo.py
</code>
En fonction d'un certain nombre de facteurs, le programme peut s'exécuter ... most recent call last):
File "demo.py", line 1, in <module>
import requests
ModuleNotFoundError:... llons et d'installer les paquets localement, au sein de l'environnement.
Pour créer un environnement,... activer l'environnement, exécutez **''source env/bin/activate''** (si vous êtes sous Windows, la comm