运行导轨服务器更改测试结果?[英] Running rails server changes test result?

问题描述

与这个问题有关,我遇到了一个奇怪的情况. ruby​​ on Rails on rails-与RSPEC/CAPYBARA的登录失败/poltergeist-堆栈溢出


刚运行测试

bin/rspec spec/features/spec.rb

11871 spring server | myapp | started 32 secs ago
11877 spring app    | myapp | started 31 secs ago | test mode

我从phantomjs获得登录,例如:

API.ajax:GET /user :failed
httpStatus:0
error
undefined

运行服务器在开发中运行

运行测试

bin/rails s 接着 bin/rspec spec/features/spec.rb

我从phantomjs获得登录,例如:

API.ajax:POST /sessions :failed
httpStatus:401
error
[object Object]

,如果没有开发服务器运行的服务器,Phantomjs似乎甚至无法达到/会话URL. (无论如何它都失败了..)

有人有相同的经验吗?我不知道为什么运行开发服务器会进行此更改,并希望有一个线索可以解决测试失败.

我正在使用RSPEC,Cabybara,Poltergeist,Phantomjs 2.0和 React .

谢谢!

推荐答案

Dev Server在端口3000上运行,而Capybara在随机端口上运行测试服务器,除非您设置了capybara.server_port.从您的描述中,听起来您可能会引用端口3000硬编码为JS,这意味着即使在测试模式下运行

,也不是要与Dev服务器联系.

本文地址:https://www.itbaoku.cn/post/1740157.html