在我的测试中,我有一个步骤,我填写一个字段,然后按回车键.然后,该字段将在下一页返回结果集.
这是我的助手方法:
def search(term)
fill_in('query-text', :with => term)
click_button('search-button')
end
Run Code Online (Sandbox Code Playgroud)
在那之后,我有一个简单的说法:
page.should have_content(tutor)
Run Code Online (Sandbox Code Playgroud)
但是,问题在于,即使我的页面加载了结果之后的页面,即使它应该为假,它也会通过该步骤.我在步骤中设置了一个调试器,当我手动检查它时,断言失败,因为我也期望它.我的假设是下一步是在页面重新加载之前检查.我在搜索方法结束时进行了一次睡眠,使其看起来像:
def search(term)
fill_in('query-text', :with => term)
click_button('search-button')
sleep 5
end
Run Code Online (Sandbox Code Playgroud)
但我觉得使用睡眠是解决这个问题的一种黑客方式.我正在使用Capybara 2,因此删除了wait_until的使用.有没有更好的方法来处理这个问题而不是依赖睡眠?
我有一个ajax帖子:
$.post("/api/v1/payment_methods/create_credit_card", values)
.done (response) ->
console.log("GOOD JOB")
.fail (response) ->
console.log("Adas")
Run Code Online (Sandbox Code Playgroud)
响应是201,然而,完成似乎没有捕获它,而是它将失败.我认为201会被认为是成功的,并且会被完成捕获.为什么它不起作用的任何想法?
注意:上面的代码是在coffeescript中,它并没有真正影响问题,但解释了我的语法
我试图.bashrc
用一些别名来修复我的新Mac,我已经做了一个.bash_profile
尝试加载.bashrc
终端打开的时候.但是,每次我尝试使用git
命令时它都会给我这个错误.
git status
dyld: lazy symbol binding failed: Symbol not found: _iconv_open
Referenced from: /usr/bin/git
Expected in: /opt/local/lib/libiconv.2.dylib
dyld: Symbol not found: _iconv_open
Referenced from: /usr/bin/git
Expected in: /opt/local/lib/libiconv.2.dylib
Trace/BPT trap: 5
Run Code Online (Sandbox Code Playgroud)
我删除了.bash_profile
甚至还原了.bashrc
但仍然没有好处.有任何想法吗?
旁注:我看过Git> dyld:懒符号绑定失败:未找到符号:_iconv_open但他的解决方案似乎对我不起作用,因为我现在根本没有bash_profile.
我想动态地将某个文件夹中的所有模块包含到这个其他模块中.我的代码如下:
module Extensions
module ProductExtension
def add_included_extensions
extensions = Pathname.glob("lib/extensions/merchant/*.rb")
.map(&:basename)
.collect{|x|
x.to_s.gsub(".rb", "")
.titleize.gsub(" ","")
}
extensions.each do |merchant|
include "Extensions::MerchantExtensions::#{merchant}".constantize
end
end
def add_items
add_included_extensions
Merchant.all.each do |merchant|
send("add_#{merchant.name.downcase}_items")
end
end
end
end
Run Code Online (Sandbox Code Playgroud)
但是它似乎并没有实际包含文件,因为当我调用send方法时,它说它调用的方法不存在.知道我可能做错了吗?