Django 1.9. Ich möchte testen, dass Eingabeformulare normalerweise unsichtbar sind. Und nur wenn ein Benutzer die Umschaltmenü-Taste drückt, erscheinen Login- und Passworteingabeelemente.Best Practice zur Sicherstellung der Testmethoden
Das Problem ist, dass dies alles über Methoden einer Klasse ist. Ich möchte sicher sein, dass eine Methode vor einer anderen ausgeführt wird. Ich habe diese Lösung mit 0 und 1 in Methodennamen gefunden.
class FuncTestTablets(TestCase):
@classmethod
def setUpClass(cls):
pass
@classmethod
def tearDownClass(cls):
pass
def test_0_tablets_login_input_form_absent(self):
# At home page with tablet screen size Edith sees no login input element.
## 0 is for stating explicitly that this test goes before the ones with 1 in their name.
self.browser.get('http://localhost:8000')
login_input = self.browser.find_element_by_id('login')
self.assertFalse(login_input.is_displayed(), "Login input element is visible on large devices")
def test_1_tablets_login_input_form_present_when_menu_button_pressed(self):
# At home page Edith presses menu button and login input appears.
## 1 is for stating explicitly that this test goes after the ones with 0 in their name.
menu_button = self.browser.find_element_by_class_name('navbar-toggle')
menu_button.click()
login_input = self.browser.find_element_by_id('login')
self.assertTrue(login_input.is_displayed(), "Login input element is not visible on tablet devices when menu button is pressed.")
Dies scheint zu funktionieren. Können Sie mir sagen, ob es für solche Fälle eine allgemein bekannte Methode gibt? Vielleicht eine Best Practice.
Ich habe gerade angefangen Django und ich denke nicht, dass meine Lösung sofort die beste ist.
Deshalb habe ich beschlossen, Sie zu fragen. Vielen Dank im Voraus.