Sebastians Blog Neues aus den Softwareminen…

Schlagwort-Archive: RSpec

Verwischte Font-Awesome-Icons in Phantom JS

Wir reichern unsere auf Capybara und Phantom JS basierenden Feature-Tests gerne mit Screenshots an. Hierbei kam es regelmäßig zu einem Problem mit Font Awesome, wodurch der automatische Abgleich fehl schlug. Bei einzelnen Specs tritt das Problem nicht auf, erst wenn mehrere Tests mit … Weiterlesen

Veröffentlicht unter | Verschlagwortet mit , , , , , | Kommentare deaktiviert für Verwischte Font-Awesome-Icons in Phantom JS

Herausfinden, wo eine Methode definiert wurde

In manchen Situationen ist es alles andere als offensichtlich, welche Klasse oder welches Modul eine Methode bereitstellt. Wer implementiert die Get-Methode für Rspec-Controller-Tests? Gerade in solch zusammengewürfelten Umgebungen ist das nur schwer nachvollziehbar. Ruby hilft hierbei: Die Metamethode method gibt Auskunft, … Weiterlesen

Veröffentlicht unter | Verschlagwortet mit , , | Kommentare deaktiviert für Herausfinden, wo eine Methode definiert wurde

Match API output with YAML fixture

A nice and simple approach to test you JSON APIs: # spec/features/api/user_spec.rb require ‚rails_helper‘ RSpec.feature ‚User‘, type: :feature do it ‚lists users‘ do user = create(:user, :as_admin) visit api_user_path(user, format: :json) expect(page).to match_yaml_fixture(‚api/user‘) end end This checks if the page … Weiterlesen

Veröffentlicht unter , | Verschlagwortet mit , , | Kommentare deaktiviert für Match API output with YAML fixture

ActiveAdmin: Authentifizierung für Browser und API

Eine einfache API-Authentifizierung lässt sich in ActiveAdmin durch Wiederverwendung des Standard-Admin-Users im Initializer erreichen: # config/initializers/active_admin.rb ActiveAdmin.setup do |config| config.prepend_before_filter do if active_admin_config.namespace.name == :api authenticate_or_request_with_http_basic(‚API‘) do |name, password| user = AdminUser.find_by_email!(name) sign_in(:admin_user, user) if user.valid_password?(password) end end end Dies … Weiterlesen

Veröffentlicht unter | Verschlagwortet mit , , , , , | Kommentare deaktiviert für ActiveAdmin: Authentifizierung für Browser und API

Bundler is using a binstub that was created for a different gem?

In regelmäßigen Abständen wirft unsere Konfiguration aus Bundler 1.7, Rails 4.1, Rspec 2.14 und Spring 1.1 bei jedem Rails-, Rake- oder Rspec-Befehl die folgende Warnung: Bundler is using a binstub that was created for a different gem. This is deprecated, … Weiterlesen

Veröffentlicht unter | Verschlagwortet mit , , , , | Kommentare deaktiviert für Bundler is using a binstub that was created for a different gem?

Spring ohne Bin-Präfix nutzen

Spring lässt sich sehr einfach installieren: Gem eintragen und die Binstubs erzeugen: bundle exec spring binstub –all Um nun rake routes oder rails generate statt bin/rake routes oder bin/rails generate nutzen zu können, einfach die folgenden Funktionen in beispielsweise die … Weiterlesen

Veröffentlicht unter | Verschlagwortet mit , , , , , | Kommentare deaktiviert für Spring ohne Bin-Präfix nutzen

RSpec durch Parallelisierung beschleunigen

Mit der testgetriebenen Entwicklung gibt es vor allem ein großes Problem: Finished in 2 minutes 32.8 seconds 547 examples, 0 failures, 4 pending Schon in einem frühen Stadium läuft die Testsuite locker zwei Minuten. Parallel Tests will die Dauer verkürzen, … Weiterlesen

Veröffentlicht unter | Verschlagwortet mit , , , | Kommentare deaktiviert für RSpec durch Parallelisierung beschleunigen

Rspec: Arrayvergleich ohne Reihenfolge

Um zwei Arrays auf Gleichheit der Elemente zu testen, ohne dabei die Reihenfolge zu beachten, kann der Rspec-Matcher match_array verwendet werden: expect([1, 2, 3]).to match_array([1, 2, 3]) ✔ expect([1, 2, 3]).to match_array([3, 2, 1]) ✔ expect([1, 2, 3]).to match_array([1, 2, … Weiterlesen

Veröffentlicht unter | Verschlagwortet mit , , , | Kommentare deaktiviert für Rspec: Arrayvergleich ohne Reihenfolge

RSpec und PostgreSQL: Insufficient Privilege

Bei einem rake spec erhielt ich den folgenden Fehler: PG::InsufficientPrivilege: ERROR: permission denied to create database […] Es mag eine falsche Einstellung sein (ein einfaches rspec verursacht das Problem nicht), aber offensichtlich benötigt der Datenbanknutzer in meiner Konfiguration das Recht, … Weiterlesen

Veröffentlicht unter | Verschlagwortet mit , , , , | Kommentare deaktiviert für RSpec und PostgreSQL: Insufficient Privilege

SublimeSpecCreator: Command-Palette nutzen

Gerade bei unregelmäßig genutzten Funktionen vergisst man gern das zugewiesene Tastenkürzel. Hier hilft Sublimes sogenannte Command Palette. Eine Spezifikation für eine Methode kann man nun auch auf folgende Weise generieren: Zu testende Methode markieren Strg+Shift+P createspec (oder Teile davon) tippen, … Weiterlesen

Veröffentlicht unter | Verschlagwortet mit , , , , | Kommentare deaktiviert für SublimeSpecCreator: Command-Palette nutzen