19 Unit-Tests von Modellen mit Tabellennamen in Rails

Will man in Rails seine Modelle mittels Unit-Tests verifizieren, bieten die von Rails automatisch generierten Gerüste eine solide Grundlage. Allerdings stoßen diese Vorlagen an ihre Grenzen, sobald der Modellname von dem seiner zugehörigen Tabelle abweicht. Betrachten wir also folgendes Beispiel, in welchem sich der Klassenname und der Tabellenname voneinander unterscheiden.

class TestMe < ActiveRecord::Base
  self.table_name = 'my_special_table'
  #<class-definition here>
end

Beim Erzeugen eines neuen Railsprojektes werden automatisch Testklassen und zu jeder Klasse gehörende Fixtures angelegt. Dabei bekommt jede Fixture-Datei den Namen der zu testenden Klasse in pluralisierter Form. Im Beispielfall wäre das also TestMes.yml. Führt man den Test nun aus, bekommt man prompt die Fehlermeldung Could not find table 'TestMes' zurück. Interessanterweise lässt sich die Anwendung jedoch im Development- als auch im Production-Umgebung starten.

Was ist passiert?

Bei der Ausführung des Tests greift Rails auf die Testdaten — welche in den Fixtures definiert wurden — zurück. Dabei nutzt Rails wie gewohnt die in der database.yml spezifizierte Datenbank. In Vorbereitung auf den Test werden die Daten aus den Fixtures in die entsprechende Datenbank gespeichert. Unglücklicherweise nutzt Rails ausschließlich den Dateinamen der Fixtures, um den entsprechenden Tabellennamen zu spezifizieren und ignoriert an dieser Stelle einfach den Befehl self.table_name = 'my_special_table' aus der Klassendefinition1. Da aber keine Tabelle mit dem entsprechenden Namen existiert, schlägt der Zugriff auf die Tabelle und in Folge dessen der Test fehl.

Lösung

Die Lösung für das Problem liegt auf der Hand, da wir die Ursache lokalisieren konnten. Die Fixture-Datei muss lediglich den Namen der entsprechenden Tabelle bekommen, anstatt den der zu testenden Klasse. In unserem Beispielfall also my_special_table.yml und der Test funktioniert.

Achtung

Leider birgt diese Variante eine potentielle Fehlerquelle. Sollte sich der Tabellenname im Zuge der Entwicklung verändern, muss diese Änderung sowohl in der Klassendefinition vorgenommen werden als auch die Fixture-Datei den neuen Namen erhalten, um die Tests weiterhin lauffähig zu halten.

1 Rails Guides — The Low-Down on Fixtures

←zurück
15.01.2020

Vorhofflimmern Levitra Cephalexin For Dogs [url=http://cialibuy.com]Buy Cialis[/url] Achat Kamagra En Ligne Cialis 5 Mg Provato Propicea Online India

02.02.2020

Kamagra 50mg Uk [url=http://viacialisns.com/#415]Cialis[/url] Cheap 100mg Viagra Pills <a href="http://viacialisns.com/#410">cheapest cialis</a> Cost Of Viagra At Cvs

19.02.2020

Amoxicillin Dosage Dogs [url=http://viacialisns.com/#]Buy Cialis[/url] Acheter Priligy Dapoxetine Etats <a href="http://viacialisns.com/#">cheapest cialis</a> Cialis Generika Indien

28.02.2020

Taking Amoxicillin On An Empty Stomach [url=https://buyciallisonline.com/#]Cialis[/url] Prednislone Next Day <a href="https://buyciallisonline.com/#">Buy Cialis</a> Medicines Without A Prescriptions

05.04.2020

Jewish women and men from various countries with different languages and experiences, but we all have something in common. <a href="https://mytraderbook.com/tarot-gratis-online-legen/">tarot gratis online legen</a> Our easily accessed location and skilled medicalspaces provide a safe environment the place sufferers can relax and experience a wonderful medical service. <a href="https://mytraderbook.com/zeitkarten/">zeitkarten</a> Once you have chosen the course you would like to undertake and, where applicable, the certification level, you will be taken to our online registration form. <a href="https://cmitmedia.com/tod-symbol/">tod symbol</a>

05.04.2020

E dolls and will continue to improve our products as we believe our customer satisfaction is top priority. <a href="https://mytraderbook.com/stier-steinbock/">stier steinbock</a> Psychics specialize in astrology, numerology, tarot reading and more, while our daily horoscopes tell your future in love, jobs and life. <a href="https://kursilesehan.net/april-sternzeichen/">april sternzeichen</a> They are generally subject to social security contributions, with the exception of unemployment insurance. <a href="https://cmitmedia.com/kostenlose-paarberatung/">kostenlose paarberatung</a>

05.04.2020

Krper einmal erregt gewesen ist, auch wenn sie nicht mehr existieren oder gegenwrtig sind, dennoch betrachten, als wren sie gegenwrtig. <a href="https://cfsinlimites.com/steinbock-partnerschaft-eigenschaften/">steinbock partnerschaft eigenschaften</a> Therefore, they possessed a far-reaching knowledge of illness,healing, birth and death - which absolutely did not fit to some. <a href="https://kursilesehan.net/dnevni-horoskop/">dnevni horoskop</a> The aim of our courses is for participants to reach and enhance communication skills in general situations of life. <a href="https://lachkraempfe.net/unterwasche-getragen/">unterwasche getragen</a>

05.04.2020

Dysfunction represents as important because of and psychologists are involved in normal erectile function,piles factors that trigger and maintain sexual disorders of. <a href="https://carrilloycarrilloabogados.com/kartenlegenberatung/">kartenlegenberatung</a> Israheli, iudicans ex nubibus et de alto celi, archam testamenti ac- census igne zeli tradidisse legitur populo crudeli. <a href="https://cfsinlimites.com/wochenhoroskop-steinbock-nchste-woche/">wochenhoroskop steinbock nächste woche</a> Utilize this guide to the minimum required in most cases, living cheap will find different insurance providers inclinedbecome close friends. <a href="https://cmitmedia.com/krafttier-br/">krafttier bär</a>

05.04.2020

Ich suche diesen filmpaar freundegehen zusammen in ein wald feiern weil eine von denen seine freundin geburtstag hat. <a href="https://cfsinlimites.com/zukunft-vorhersagen-online/">zukunft vorhersagen online</a> Rast wurde ich ungeduldig, es draengte mich unwider-stehlich weiter zu marschieren und nach hause zu kommen. <a href="https://collegereadingbootcamp.com/mai-bilder-kostenlos/">mai bilder kostenlos</a> Health food stores carry a variety of agents, including fever, exposure to the sun, and menstruation. <a href="https://carrilloycarrilloabogados.com/love-stars/">love stars</a>

08.04.2020

Before saying our confession and receiving absolution, we should set aside time to look at our own wrong-doing and to confess the sins of the dead for whom we are holding the service. <a href="https://saqacommunity.com">saqacommunity</a> It has a cathedral ceiling giving it a nice airy feel and architectural features such as the original exposed stone arch and steel beams and sliding doors giving it some industrial charm.

08.04.2020

Koo considers the connection of energies between a place and people, relying on chance to drive her encounters. <a href="https://institutosomosiguais.com">institutosomosiguais</a> Jos mi je rekao da je oprostaj bio na krematoriju i da, ako zelim, nazovem koji dan, pa cemo zajedno na groblje.

09.04.2020

Once war, and especially the total war that marked both the ancient and the modern way of battle, erupts, all is sacrificed before it. <a href="https://invisionsupport.com/chinesisches-horoskop-affe/">chinesisches horoskop affe</a> We just explained that we wanted to create an image for ourselves and, you know, be outrageously dressed. <a href="https://muahangtaigia.info/kostenlos-horoskop-de/">kostenlos horoskop de</a> The transparent and twisted structure was originally intended to be temporary, with a scheduled removal announced in 2016. <a href="https://gmcourseonline.com/aszendent-bestimmung/">aszendent bestimmung</a>

06.05.2020

blog.hnhs.de cialis 20 milligramscialis sydney australia <a href="https://cialistld.com/">Health</a> cialis tabletten was ist dascialis max daily dosage <a href="https://cialistld.com/">Site</a> cialis on nhs prescription

27.06.2020

kamagra jelly kopen rotterdam http://kamagrabax.com/ - kamagra jelly 100mg usa <a href="http://kamagrabax.com/">kamagra 100 mg</a> effectiveness of cialis vs viagra vs levitra vs kamagra

30.06.2020

super kamagra kaufen
[url=http://kamagrabax.com/#]kamagra jelly[/url]
kamagra oral jelly kaufen schweiz
<a href="http://kamagrabax.com/">buy kamagra</a>
kamagra 100mg tablets for sale in uses

04.07.2020

kamagra kopen amsterdam
[url=http://kamagrabax.com/#]kamagra[/url]
kamagra london reviews
<a href="http://kamagrabax.com/">kamagra online</a>
effectiveness of cialis vs viagra vs levitra vs kamagra

04.07.2020

kamagra oral jelly for sale in usa il http://kamagrabax.com/ - kamagra kopen utrecht <a href="http://kamagrabax.com/">kamagra 100 mg</a> kamagra oral jelly come si usa

12.07.2020

how to write an argumentative essay on a short story
[url=http://writemyessayzt.com/#]essay writing helper[/url]
ielts writing task 2 essay structure pdf
<a href="http://writemyessayzt.com/">essay writing helper</a>
css essay paper solved

28.07.2020

study plan essay format
[url=http://essaywritercpl.com/#]buy cheap essay[/url]
examples of essay for scholarship application
<a href="http://essaywritercpl.com/">essay writing service</a>
sample opinion essay

kommentieren




Ist Wasser nass? (Bitte klein schreiben)

© 2012 – 2020 HicknHack Software GmbH | Impressum | Datenschutzerklärung