Domanda

Sto avendo difficoltà grande test con API controllore di RSpec. In questo momento sto utilizzando una soluzione di autenticazione middleware ( Warden ), e quando corro le specifiche, il proxy aggiunto dal middleware non c'è, e tutti i test di autenticazione stanno gettando NilPointerExceptions in tutto il luogo.

Sembra RSpec non aggiunge il middleware per l'applicazione finale di proposito, e vorrei sapere se c'è un modo per patch di scimmia RSpec per fare andare.

Ho già provato il tutto con cetrioli, tuttavia questo è un refactoring di una vecchia versione di autenticazione e c'è diversi test controller che dipendono dalla logica di autenticazione per poter lavorare.

Grazie in anticipo.

È stato utile?

Soluzione

Sembra API RSpec Controller per Rails 2.x non è realmente utilizza Rack sulla chiamata di controllo, quindi questo non è possibile fare. Tuttavia c'è un (non provata) soluzione sottolineato da David Chelimsky. Metterò la risposta che mi ha dato nella lista di posta RSpec-utente.

  

Tutte le specifiche del controller non passano attraverso rack in rotaie 2, in modo non proprio.

     

Ci sono le specifiche di integrazione, che avvolgono il rotaie integrazione test di API   in modo da poter fare qualsiasi cosa che si può fare in un test di integrazione rotaie. Appena   spostare i file verso spec / integrazione, di convertire le richieste da   "Get: indice" a "ottenere 'path / to / index'" e si dovrebbe essere più o meno   buona per andare.

     

Fateci sapere come funziona fuori.

     

Saluti,   David

Ho finito beffarda l'ApplicationController sui metodi di autenticazione logica di fare cose fittizio al fine di rendere le mie specifiche correre, ho fatto questo prima di avere la suggestione sottolineato da David, quindi non so se questo lavoro. Ad ogni modo spero che aiutano qualsiasi altro sviluppatore della stessa situazione.

Altri suggerimenti

Questo post su un problema legato potrebbe far luce ed eventualmente portare ad una soluzione per la specifica di componenti middleware in una configurazione RSpec (spero!)

https: // rspec .lighthouseapp.com / progetti / 5645 / biglietti / 963-richiesta-è-nil # ticket-963-14

E non aiuta con il vostro problema specifico Rails2, ma questa query è venuto fino in alto per 'middleware rspec' così si spera aiutare gli altri che incontrano il problema mentre cercano beta Rails3 e oltre.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top