Sebastians Blog Neues aus den Softwareminen…

Archiv der Kategorie: Software- und Web-Entwicklung

Ruby: Testvollständigkeit testen

Eine Wissenschaft für sich im Test-Driven Development ist die Frage, wie jede einzelne Funktion getestet werden muss: Sind die Tests vollständig, hat man jeden Spezialfall bedacht? Hat man es zu gut gemeint und eine schwer überschaubare, redundante Testsuite geschaffen? Einen recht … Weiterlesen

Veröffentlicht unter | Verschlagwortet mit , , , , | Hinterlasse einen Kommentar

Klassen- und Klassenhierarchievariablen in Ruby

Sucht man nach einem Klassenvariablenkonzept für Ruby trifft man über kurz oder lang auf das @@-Konzept. Wer sich darauf einlässt kann schnell Probleme bekommen. Der Grund ist relativ einfach: @@-Variablen sind keine Klassenvariablen. Einfache „Klassenvariablen“ class Cat @@size = :small … Weiterlesen

Veröffentlicht unter | Verschlagwortet mit , , | Hinterlasse einen Kommentar
unittesting

Was beim Unit-Testing getestet werden sollte

Die zentrale Idee des Unit-Testings ist Isolation. Man testet einzelne Komponenten, Abhängigkeiten werden als gegeben und korrekt angesehen und ggf. gemockt. Dies macht das  Testen der einzelnen Komponente übersichtlicher, da nur ihre Pfade betrachtet werden müssen. In der Regel wird … Weiterlesen

Veröffentlicht unter | Verschlagwortet mit , , , | Hinterlasse einen Kommentar

YAML-Manipulation mit Python

Ich mache es zwanzig mal am Tag: t(‘admin.users.show.name’), die YAML-Datei öffnen, in denen sich die Übersetzungen befinden, den Pfad absuchen und ggf. fehlende Teile einfügen und zuletzt die Übersetzung hineinschreiben und speichern. Wirklich kreativ ist dabei nur das Formulieren, den … Weiterlesen

Veröffentlicht unter | Verschlagwortet mit , , , , | Hinterlasse einen Kommentar

Guard erkennt keine Sublime-3-Änderungen

Sublime Text 3 hat das Speichern von Dateien umgestellt, so dass Guard dieses nicht mehr als Änderung registriert. Abhilfe schafft hier eine Rückkehr zum alten Ansatz. Hierfür unter „Preferences“ > „Settings — User“ die folgende Option setzen: { … “atomic_save”: … Weiterlesen

Veröffentlicht unter | Verschlagwortet mit , , , | Hinterlasse einen Kommentar

Rails 4 schützt Nutzer vor Regex-Schwachstellen

Rails 4 warnt seine Nutzer vor einer weit verbreiteten Sicherheitslücke, die durch falsche Anwendung von regulären Ausdrücken auftritt. So sind Validatoren wie der folgende nicht mehr erlaubt: validates :phone, format: { with: /^[0-9]+$/ } Dies wirft einen Argument-Error wie diesen: … Weiterlesen

Veröffentlicht unter | Verschlagwortet mit , , , , , | Hinterlasse einen Kommentar

“Rake aborted!” durch abweichende Version

Stimmt die aktuell installierte Rake-Version nicht mit der im Gemfile.lock hinterlegten Version überein, bricht Rake mit einer Fehlermeldung ab: rake routes rake aborted! You have already activated rake 10.1.1, but your Gemfile requires rake 10.1.0. Using bundle exec may solve … Weiterlesen

Veröffentlicht unter | Verschlagwortet mit , , , , , | Hinterlasse einen Kommentar

Methoden-Ketten: Rubys Object#tap und Datenkapselung

Eine nette, mir bisher unbekannte Methode ist Rubys Object#tap, der man einen Block übergeben kann, in dem das Objekt als Argument zur Verfügung steht. Klingt im ersten Moment vielleicht unnötig, kann aber insbesondere in Views für etwas schöneren Code sorgen. … Weiterlesen

Veröffentlicht unter | Verschlagwortet mit , , , , | Hinterlasse einen Kommentar