Zdravím vespolek, a prosím o nakopnutí.
TL;DR: Jaký je doporučený framework pro testování Django aplikací? pytest-django? -- Plná verze: Snažím se zmigrovat jeden Django projekt z Django unit tests na py.test . Mám Django==1.8, pytest-django==2.9.1 a příslušný pytest, testovací databázi mám defaultní sqlite. Program v databázi očekává nějaké objekty/fixtures, které do databáze nahraju v průběhu migrací. Objekty vytvářím pomocí volání RunPython v migracích. Testy spouštím jednak u sebe na vývojářském laptopu a taky na Jenkinsu (CI řešení z minulého století). Když testy na Jenkinsu projdou, tak je Jenkins nahraje projekt na testovací server pro zákazníka. Když spustím testy na laptopu, tak projdou bez problémů. Když spustím testy na Jenkinsu, tak spadnou testy, které očekávají, že v databázi jsou nějaké objekty. Obě testovací prostředí používají stejný test_settings a stejné verze balíčků z pipu. Liší se mi jen verze Pythonu 2.7.10 vs 2.7.5 (Fedora vs CentOS), ale nepředpokládám tam problém. Na co jsem přišel: - Vypadá to, že py.test runner spouští migrace, protože se vytvoří všechny tabulky a sloupce v tabulkách (ale jistě to nevím - tohle se může vytvořit i z popisu modelů). - Vypadá to, že py.test spouští i kód v RunPython - když jsem tam vyhodil výjimku, tak testy spadly na výjimce. - Ale objekty vytvořené pomocí RunPython pak nejsou. Failují jak staré testy odvozené od TestCase, tak nové pytest testy. Setkal se s tím někdo? Jaký je aktuálně doporučený testovací framework pro Django aplikace? Za odpověď děkuji Věroš -- --V.Kaplan -- -- E-mailová skupina [email protected] Správa: http://groups.google.cz/group/django-cs --- Tuto zprávu jste obdrželi, protože jste přihlášeni k odběru skupiny django-cs ve Skupinách Google. Chcete-li zrušit odběr skupiny a přestat dostávat e-maily ze skupiny, zašlete e-mail na adresu [email protected]. Chcete-li zobrazit tuto diskusi na webu, navštivte https://groups.google.com/d/msgid/django-cs/CABWwdO-6yb1dLcFGA_W83TGBdxv3MJuTaSms-Gh60Fu944g%3DRA%40mail.gmail.com. Další možnosti najdete na adrese https://groups.google.com/d/optout.
