Hur testar jag Drupal Code?

Den här artikeln hjälper dig att börja skriva tester för din Drupal-kod
Den här artikeln hjälper dig att börja skriva tester för din Drupal-kod.

Den här artikeln hjälper dig att börja skriva tester för din Drupal-kod. Vi antar att koden du skriver främst ligger inom en anpassad eller 'bidrag' (community-bidragen) Drupal-modul. Det finns många sätt att testa en Drupal-webbplats, men det mest populära sättet att testa Drupal-kod är enhetstestning och integration testning. Den här artikeln kommer att täcka enhetstestning. Det enklaste sättet att skriva och utföra tester i Drupal 7 och Drupal 8 är att använda modulen Simpletest, som denna guide kommer att täcka. Observera dock att Drupals kärnutvecklare har börjat använda ett annat testramverk - PHP Unit - för Drupal 8-utveckling.

Steg

  1. 1
    Aktivera den enklaste modulen. Se till att du är inloggad på din Drupal-webbplats som administratör. Gå till administrationsmenyn, gå till sidan "Moduler", hitta "Enkelast" och klicka för att aktivera den. Den ska redan vara installerad med Drupal-kärnan.
  2. 2
    Titta igenom de tester som redan finns på din webbplats. På vilken Drupal-webbplats som helst kommer alla kärnmoduler och många bidragsmoduler som är installerade redan att ha många tester skrivna för Simpletest. Du kan se dem alla genom att gå till 'Konfiguration'> 'Utveckling'> 'Testning'. Att titta igenom dem bör ge dig en bättre uppfattning om vad du kan testa och hur du kan märka dina tester.
  3. 3
    Testa de tester som redan är tillgängliga.
  4. 4
    Gör din modul redo för att skriva test. Lägg till en fil med namnet 'modulename.test' i din modulmapp. Detta är en PHP-fil som du bör lägga till alla dina tester till. Berätta sedan för Drupal om filen i din.info-fil med files[] = modulename.test.
  5. 5
    Lägg till din första testfallsklass.
    <? php / ** * @fil * Beskrivning av filen. * / class ModuleNameUnitTestsTestCase utökar DrupalUnitTestCase {public static function getInfo () {// Obs: getInfo () strängar ska inte översättas. returmatris ('namn' => 'Funktionstester', 'beskrivning' => 'Testa att olika funktioner fungerar korrekt.', 'grupp' => 'Modulnamn',); }} 
    Observera dock att Drupals kärnutvecklare har börjat använda ett annat testramverk - PHP Unit - för Drupal
    Observera dock att Drupals kärnutvecklare har börjat använda ett annat testramverk - PHP Unit - för Drupal 8-utveckling.
  6. 6
    Skriv lite testkod. Föreställ dig att du har skrivit den här funktionen och vill testa att den fungerar som den ska:
    • function negate ($ int) {return $ int * -1; } 
    • Du kan skriva ett test (i din modulename.testfil, efter getInfo()metoden) så här:
    • public function testNegates () {$ result = negate (5); } 
  7. 7
    Skriv ett påstående som kontrollerar utgången från testkoden. För närvarande kontrollerar metoden i föregående steg inte faktiskt resultatet av testet på något sätt. För att säkerställa att värdet är vad vi förväntar oss skriver vi ett påstående. I det här fallet lägger vi till assertEqual () till vår metod för att kontrollera att resultatet är lika -5. Vi kommer också att lägga till ett meddelande och en grupp i vårt påstående, vilket kommer att vara till hjälp när vi kör testet senare.
    public function testNegates () {$ message = "negate () ska returnera ett negativt heltal."; $ group = "Beräkning"; $ resultat = negera (5); $ detta-> assertEqual ($ resultat, -5, $ meddelande, $ grupp); } 
  8. 8
    Kör ditt första test. Gå tillbaka till testsidan i Drupal. I listan med tester bör du se namnet på din modul (om 'grupp' i din getInfo () -metod motsvarar ditt modulenamn). Om du inte ser det kan du behöva spola Drupal-cache (specifikt "klass" -cache). Aktivera nu ditt test med kryssrutan och välj ' Kör tester '. Efter några sekunder ska du se ditt test och resultatet! Det ska vara rött om testet misslyckades och grönt om det lyckades.
  9. 9
    Läs mer om det enklaste. Du kan lära dig mer om tillgängliga påståenden på sidan DrupalTestCase i Drupal API.

Tips

  • Testa tidigt. Så snart du skriver kod som lägger till ny funktionalitet eller fixar trasig funktionalitet, skriv ett test för att se till att det fungerar som förväntat.
    På vilken Drupal-webbplats som helst kommer alla kärnmoduler
    På vilken Drupal-webbplats som helst kommer alla kärnmoduler och många bidragsmoduler som är installerade redan att ha många tester skrivna för Simpletest.
  • Testa ofta. Fortsätt skriva tester när du skriver kod så att den blir en del av din process och inte blir en syssla du lämnar till slutet och ignorerar.
  • Testa automatiskt. Använd om möjligt verktyg som gör att dina tester kan köras regelbundet utan att du själv behöver köra testerna.
  • Testning är inte klar förrän alla test har körts. Att se till att du kodar klarar alla dina tester innan du överlämnar den till en klient eller användare betyder att det är mycket mindre troligt att du kommer att komma tillbaka och fixa saker senare, och det kommer att förbättra ditt rykte och självförtroende samtidigt.

FacebookTwitterInstagramPinterestLinkedInGoogle+YoutubeRedditDribbbleBehanceGithubCodePenWhatsappEmail