Pergunta

Eu poderia usar alguma ajuda para descobrir o que está acontecendo. Verifique a saída do log abaixo - por que rails tratar os dois processado de modo diferente? Por que um sucesso, sem quaisquer chamadas SQL relacionados e a segunda falha - com um acesso SQL. (Não é um modelo de ActiveRecord, não SQL devem ser envolvidos neste render.)

Fundo

Eu tenho uma característica de pepino com dois cenários que cada contar com Webrat para resolver a passo 'Quando eu ir para a lista de artigos' O modelo de artigo não é um modelo de ActiveRecord, e não deve confiar em SQL para acesso.

Se eu encomendar os cenários # 1, # 2 no arquivo, o primeiro cenário passa todos os testes, enquanto o segundo cenário falhar, como esperado, em uma etapa posterior diferente.

Se eu encomendar os cenários # 2, # 1 no arquivo, o cenário # 2 falhar como seria de esperar, depois de passar a etapa em questão. Mas o cenário # 1 agora falhar o 'Quando eu vou para a lista de artigos' passo com:

recurso não encontrado (ActionView :: TemplateError) características / article.feature: 23: em `Quando eu ir para a lista de artigos

test.log conteúdos

-------- teste webrat é bem sucedida - não-db modelo apoiado --------------

Processing ArticlesController#index (for 127.0.0.1 at 2009-08-12 13:22:37) [GET]
  Parameters: {"action"=>"index", "controller"=>"articles"}
Rendering template within layouts/application
Rendering articles/index
Completed in 9ms (View: 6, DB: 0) | 200 OK [http://www.example.com/ccc/articles]
REQUESTING PAGE: GET /ccc/articles/new with {} and HTTP headers {"HTTP_REFERER"=>"/ccc/articles"}

-------- teste webrat falhar ---------------------

Processing ArticlesController#index (for 127.0.0.1 at 2009-08-12 13:22:37) [GET]
  Parameters: {"action"=>"index", "controller"=>"articles"}
Rendering template within layouts/application
Rendering articles/index


Processing ApplicationController#index (for 127.0.0.1 at 2009-08-12 13:22:37) [GET]
  Parameters: {"action"=>"index", "controller"=>"articles"}
      ^[[4;35;1mSQL (0.1ms)^[[0m   ^[[0mROLLBACK^[[0m
Foi útil?

Solução

A fim de descartar algumas possibilidades: mudar a localização da página artigos índice em paths.rb para algo como "/teste.html" e colocar esse arquivo em "/ public" - ver se os passos exibem a mesma comportamento. Se o fizerem, algo é mais provável instável em uma de suas ações setup / desmontagem de teste. Se não o fizerem, eu olhar através da lógica da própria ação e o conteúdo do modelo para entender o que pode estar acontecendo.

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