straubliukas yra Nosis plėtinys, kuris palengvina aukštesnio lygio tyrimus.
Pokyčiai, kaip bandymo klasės atrastos verčia juos registruoti per dekoratorių, kurių sudėtyje yra naudingų metaduomenis, pavyzdžiui, ką grupių jie, ar jie turi priklausomybę nuo kitų bandymų, ir jei jie turi būti ignoruojamas.
Straubliukas rūšys visi registruoti bandymų į norimą paleisti kad tada konstruoja bandymo komplekto kurioje jis eina į nosį. Taip pat galite filtruoti šį sąrašą, kad tai įmanoma nurodyti, kokios grupės bandymų norite paleisti nevykstant į tiksliųjų bandymų klases. Tuo runtime, bandymai, kurie priklauso nuo kitų bandymų, kurie nesugebėjo automatiškai pažymimi kaip praleisti.
Daug šios funkcijos buvo "įkvėpti" iki TestNG. Jei jūs iš tos sistemos, pagrindiniai bruožai straubliukas metu pasiūlymų priklauso bandymo užsakymas (šiuo metu apsiriboja klases) ir gebėjimas organizuoti savo bandymais, nepriklausančiais nuo jų modulių ar paketų struktūros grupes.
Trąbiasty tai galima rašyti testus, kurie priklauso nuo interneto paslauga (ar kokios nors kitos priklausomybės, kurią norite tik inicijuoti vieną kartą), kaip tai:
test (grupės = ["service.tests"], depends_on_groups = ["service.initialization"])
& Nbsp; & nbsp; & nbsp; klasė WhenConnectingAsAdmin (unittest.TestCase):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Def test_change_profile_image (si):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; self.client = mymodule.ServiceClient (service_config)
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; self.assertEquals ("default.jpg", self.client.get_profile_image ())
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; self.client.set_profile_image ("spam.jpg)
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; self.assertEquals ("spam.jpg", self.client.get_profile_image ())
Tada rašyti kodą pradėti ir švariai uždaryti, kad interneto paslaugų bet kurioje kitoje modulio kaip pirmos klasės paties bandymo:
test (grupės = ["service.initialization"])
& Nbsp; & nbsp; & nbsp; klasė StartWebServer (unittest.TestCase):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Def test_start (si):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; # Paleiskite serverį, tada išduoda prisijungti.
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; mymodule.start_web_server ()
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; kliento = mymodule.ServiceClient (service_config)
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; self.assertTrue (client.service_is_up)
& Nbsp; & nbsp; & nbsp; test (grupės = ["service.shutdown"]
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; depends_on_groups = ["service.initialization", "service.tests"]
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; never_skip = True)
& Nbsp; & nbsp; & nbsp; klasė StopService (unittest.TestCase):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Def test_stop (si):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; kliento = mymodule.ServiceClient (service_config)
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; jei client.service_is_up:
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; mymodule.stop_web_server ()
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; self.assertFalse (client.service_is_up ())
Naudojant straubliukas galite būti tikri bandymai atlikti norima tvarka, net jei jūs įtraukiate daugiau bandymų klases, keisti savo pavadinimą, arba perkelti juos į skirtingus modulius
Reikalavimai :.
- Python
- nosies
Komentarai nerastas