Bonjour à tous,
Je tente la surcharge d'un attribut d'une classe mère par une classe fille sur une classe de testcase selenium.
Et bien sûr, je cale.
Voici les codes :
Classe mère :
Maintenant la fille :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30 # -*- coding: utf-8 -*- from __future__ import unicode_literals import unittest, time, sys import xml.etree.ElementTree as ET from selenium import webdriver from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.common.keys import Keys from selenium.webdriver.support.ui import Select class testmere (unittest.TestCase): def setUp(self, v="mere"): self.var = v print("setUp mere : var = " + self.var) if sys.version[0] == '2': # On force le système à utiliser l'encodage utf8 si on est sur du python 2... # En python 3, le system est en utf-8 par défaut reload(sys) sys.setdefaultencoding("utf-8") def test_mere(self): print("test_presence mere : var = " + self.var) def tearDown(self): print("tearDown mere : var = " + self.var) if __name__ == '__main__': print("execution main") unittest.main()
Et le résultat affiché :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 # -*- coding: utf-8 -*- from __future__ import unicode_literals import unittest, time, sys from testmere import * class testfille (testmere): def setUp(self): if sys.version[0] == '2': # On force le système à utiliser l'encodage utf8 si on est sur du python 2... # En python 3, le system est en utf-8 par défaut reload(sys) sys.setdefaultencoding("utf-8") self.var = "fille" print("setUp fille : var = " + self.var) def test_presence(self): testmere.test_mere(self) def tearDown(self): testmere.tearDown(self) if __name__ == '__main__': t = testfille()
Tous les résultats "var = fille" ==> OK, c'est ce que je veux.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 setUp fille : var = fille test_presence mere : var = fille tearDown mere : var = fille setUp fille : var = fille test_presence mere : var = fille tearDown mere : var = fille setUp mere : var = mere test_presence mere : var = mere tearDown mere : var = mere
Mais pourquoi le code "var = mere" s'affiche ?
Et comment l'inhiber ?
Merci pour vos retours !
Partager