Cuba 如何在古巴使用params测试url?
遵循上的示例并稍作更改:Cuba 如何在古巴使用params测试url?,cuba,Cuba,遵循上的示例并稍作更改: Cuba.define do on get do on 'home' do res.write "Aloha!" end end on 'api' do on get do on "home", params("a"), param("b") do |a,b| res.write "Hello World!" end end end end 测试: scope do
Cuba.define do
on get do
on 'home' do
res.write "Aloha!"
end
end
on 'api' do
on get do
on "home", params("a"), param("b") do |a,b|
res.write "Hello World!"
end
end
end
end
测试:
scope do
test "Homepage" do
get "/api/home?a=00&b=11"
assert_equal "Hello World!", last_response.body
end
end
但我得到一个断言失败:
AppTest.rb:15:in `block (2 levels) in <main>': "Hello world!" != "" (Cutest::AssertionFailed)
我建议你用一种不同的方式来组织你的路线,以保持干净和可维护 例如,您可以执行以下操作:
class API < Cuba
on get, root do
res.write("foo")
end
end
class Web < Cuba
on get, "home" do
res.write("bar")
end
end
Cuba.define do
on "api" do
run API
end
on default do
run Web
end
end
class API < Cuba
on get, root do
res.write("foo")
end
end
class Web < Cuba
on get, "home" do
res.write("bar")
end
end
Cuba.define do
on "api" do
run API
end
on default do
run Web
end
end
on get, "home" do
foo = req.GET["foo"]
res.write(foo)
end