Pergunta

Estou tendo problemas para grande teste com API controlador de rSpec. Agora eu estou usando uma solução de autenticação middleware ( Warden ), e quando eu executar as especificações, o proxy adicionada pelo middleware não está lá, e todos os testes de autenticação estão jogando NilPointerExceptions em todo o lugar.

Parece rSpec não está adicionando o middleware para o aplicativo final sobre propósito, e eu gostaria de saber se existe uma maneira de monkey patch rSpec, a fim de tornar esse movimento.

Eu já testou a coisa toda com pepino, no entanto esta é uma refatoração de uma versão de autenticação de idade e há vários testes do Controlador que dependem de lógica de autenticação, a fim de trabalho.

Agradecemos antecipadamente.

Foi útil?

Solução

Parece rSpec Controlador API para Rails 2.x não está realmente usando cremalheira na chamada controlador, então isso não é possível fazer. No entanto, há uma solução (não comprovado) apontado por David Chelimsky. Vou colocar a resposta que ele me deu na lista de correio rSpec pelo usuário.

Ficha

Controlador não passam por rack no rails 2, então não realmente.

Existem especificações de integração, que envolvem os trilhos API de teste de integração assim você pode fazer qualquer coisa que você pode fazer em um teste de integração trilhos. Somente mover os arquivos para / integração spec, converter os pedidos de "Get: index" para "obter 'path / to / index" e você deve ser muito bem bom para ir.

Deixe-nos saber como isso funciona.

Cheers, David

acabei zombando do ApplicationController sobre os métodos de lógica de autenticação para fazer coisas manequim para fazer meus óculos correr, eu fiz isso antes de ter a sugestão apontado por David, então eu não saberia se esse trabalho. De qualquer forma espero que ajudar a qualquer outro desenvolvedor na mesma situação.

Outras dicas

Este post sobre um problema relacionado pode lançar alguma luz e, eventualmente, levar a uma solução para a especificação de componentes de middleware em uma configuração rSpec (espero!)

https: // rspec .lighthouseapp.com / projetos / 5645 / bilhetes / 963-request-é-nil # ticket-963-14

Realmente não ajuda com seu problema Rails2 específico, mas essa consulta surgiu superior para 'middleware rspec' por isso espero que vai ajudar os outros que se deparam com a questão como eles tentam o beta Rails3 e além.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top