Django-Override-instellingen

Geef een manier om de instellingen van Django te negeren bij het uitvoeren van tests
Download nu

Django-Override-instellingen Rangschikking & Samenvatting

Advertentie

  • Rating:
  • Vergunning:
  • BSD License
  • Naam uitgever:
  • Eric Davis
  • Uitgever website:
  • http://www.electricrain.com/edavis/miniCHESS/

Django-Override-instellingen Tags


Django-Override-instellingen Beschrijving

Geef een manier om de instellingen van Django te negeren bij het uitvoeren van tests Django-Override-instellingen is een Django-app die een eenvoudige manier biedt om instellingen in Django-tests te overschrijven. De schrijvingsklasse kan worden gebruikt als een klas- of methode-decorateur of als contextbeheerder om de waarden van instellingen tijdelijk te negeren. Nadat elke testcase is voltooid (bij gebruik van IT als decorateur) of nadat de contextbeheerder is verlaten, wordt het de waarden in Django.conf.Delen reset op wat ze eerder waren. Dit voorkomt bijwerkingen van kruipen en laat elk testcase in zijn eigen zandbak. Dit pakket biedt ook twee gemaksfuncties (met_apps en zonder_apps) om gewoon geïnstalleerd_apps te wijzigen, evenals een speciaal object (instelling_deleted) om tests uit te voeren zonder een bepaalde instelling gedefinieerd. De functionaliteit in dit pakket zal uiteindelijk worden vervangen wanneer Django 1.4 wordt vrijgegeven, omdat deze wordt geleverd met een ingebouwde override_settings. Maar voor degenen die pre-1,4 codebases onderhouden, wordt hopelijk dit pakket in Handig geleverd.Installatie We op PYPI: PIPI INSTALLATE DJANGO-OVERIDE-INTERIPERSUSEAGEIB U hebt een hoop tests die een gegeven instelling vereisen, kunt u de klasse en elk testcase versieren zal die waarde gebruiken. Bijvoorbeeld: van django.conf importinstellingenFrom Django.test import TestCaseFrom Override_Stings importeren Override_Settings @ Override_Settings (Foo = "ABC") Klasse Testfoo (Testcase): Def Test_foo (Self): Self.assertequal (Instellingen.foo, "ABC") Of u kunt een enkele testcase versieren en laten deze alleen op die manier van toepassing zijn: @Override_Settings (bar = "123") Klasse Testbar (Testcase): @Override_Settings (bar = "ABC") Def Test_bar (Self): Self.assertequal (Instellingen.bar, "ABC") Def Test_Bar_No_Decoration (Self): Self.assertequal (Instellingen.bar, "123") U kunt het ook gebruiken als een contextbeheerder: Klasse Testbar (Testcase): @Override_Settings (Bar = "123 ") Def Test_Bar (Self): Self.assertequal (Instellingen.bar," 123 ") met Override_Settings (Bar =" ABC ") Self.assertequal (Instellingen.bar," ABC ") Self.assertequal (Instellingen.bar" 123 ") Om Just Installed_Apps te wijzigen, gebruik met_apps of zonder_apps: van override_Settings importeren met_apps, zonder_appsclass TestAppModifiers (Testcase): @with_APPS ('django.contrib.humanize') Def Test_Humanize (Self): # ... @Without_Apps ('django.contrib.sites') Def Test_no_Sites (Self): # ... om tests uit te voeren zonder een instelling, gebruik Insiting_Deleted: van override_Settings importeren Override_Settings, Instelling_DeletedClass TestMissingsetting (Testcase): @override_Settings (Custom_Optcase) Instellen_deleted) Def Test_Delete_Custom_Option (Self): "" "Handig om ervoor te zorgen dat een ontbrekende instelling een uitzondering verhoogt. "" "Self.assertraises (AttributeError, Getattr, Instellingen, 'Custom_option') Vereisten: · Python · Django


Django-Override-instellingen Gerelateerde software