小编Fab*_*lva的帖子

在RSpec中,在之前使用let变量:all block

我在大多数测试中都有以下代码:

describe 'index'
 let(:company) { FactoryGirl.create(:company) }
 let(:user) { FactoryGirl.create(:user, company: company) }

 before do
   sign_in user
   visit products_path
 end
...
end
Run Code Online (Sandbox Code Playgroud)

但我收到以下警告:

WARNING: let declaration 'user' accessed in a 'before(:all)'
Run Code Online (Sandbox Code Playgroud)

我的问题是,这样做的正确方法是什么?我找不到有关警告本身的更多信息.

谢谢!

编辑:我的目标是使用用户变量,以便我可以将其传递给sign_in,签名用户,然后在另一个测试中使用它(我检查用户的公司属性)

ruby rspec ruby-on-rails rspec3

25
推荐指数
1
解决办法
1万
查看次数

Heroku上的多模式Postgres

我正在扩展现有的Rails应用程序,我必须为它添加多租户支持.我已经做了一些阅读,看看这个应用程序将如何在Heroku上托管,我想我可以利用Postgres的多模式功能.

我已经读过,当使用多个模式时,备份似乎存在一些性能问题.我觉得这些信息有点过时了.有谁知道这是否仍然如此?

此外,还有其他任何性能问题,或者我应该考虑的警告吗?

我已经考虑过为每个表添加一个字段,这样我就可以使用单个模式,并将该字段引用到租户表中,但考虑到时间窗口,多个模式似乎是最佳解决方案.

postgresql ruby-on-rails heroku ruby-on-rails-4

7
推荐指数
1
解决办法
939
查看次数

Minitest断言未通过检查

每当我尝试assert_equal两个对象时,我总是得到这样的错误:

   No visible difference in the User#inspect output.
   You should look at the implementation of #== on User or its members.
Run Code Online (Sandbox Code Playgroud)

它也发生在Time和Array上.最小的文档也没有真正说明这一点.

我使用的是Ruby 2.0.0,但我使用的是2.2.0,同样的事情发生了.使用最新的minitest.

另外,我正在运行Ubuntu 14.10.

ruby ubuntu minitest

6
推荐指数
1
解决办法
2966
查看次数