Rails get :index 的最小测试语法
Rails minitest syntax for get :index
我正在阅读 Hartl 教程,我对这是否是正确的语法有疑问。 rails 如何知道要查看哪个控制器?我有 10 个控制器,我正在为静态页面控制器编写测试。它怎么知道 get :home 指的是什么以及在哪里?它是否在关联的控制器中查找文件名?还是在路由中查找?
另外,assert_response是机架测试还是rails测试?
require 'test_helper'
class StaticPagesControllerTest < ActionController::TestCase
test "should get home" do
get :home
assert_response :success
end
test "should get help" do
get :help
assert_response :success
end
end
How does it know what get :home refers to and where?
Rails 做了很多 魔术 ,其中一些魔术属于 convention over configuration.
类别
在这种情况下,这个测试的 class 的名称是 StaticPagesControllerTest
这一事实告诉测试套件它正在测试 StaticPagesController
.
以这种方式命名测试是标准的 rails 惯例。您可以在技术上配置任何测试以查看您想要的任何控制器或操作,但遵循此约定有很多好处(另一个讨论)。
当您告诉它 get :home
时,它在名为 :home
.
的控制器操作上使用 get
http method
Also, is assert_response a rack test or a rails test?
它询问 rails 收到的状态代码。在这种情况下,它正在检查状态代码是否为 200
。
我正在阅读 Hartl 教程,我对这是否是正确的语法有疑问。 rails 如何知道要查看哪个控制器?我有 10 个控制器,我正在为静态页面控制器编写测试。它怎么知道 get :home 指的是什么以及在哪里?它是否在关联的控制器中查找文件名?还是在路由中查找?
另外,assert_response是机架测试还是rails测试?
require 'test_helper'
class StaticPagesControllerTest < ActionController::TestCase
test "should get home" do
get :home
assert_response :success
end
test "should get help" do
get :help
assert_response :success
end
end
How does it know what get :home refers to and where?
Rails 做了很多 魔术 ,其中一些魔术属于 convention over configuration.
类别在这种情况下,这个测试的 class 的名称是 StaticPagesControllerTest
这一事实告诉测试套件它正在测试 StaticPagesController
.
以这种方式命名测试是标准的 rails 惯例。您可以在技术上配置任何测试以查看您想要的任何控制器或操作,但遵循此约定有很多好处(另一个讨论)。
当您告诉它 get :home
时,它在名为 :home
.
get
http method
Also, is assert_response a rack test or a rails test?
它询问 rails 收到的状态代码。在这种情况下,它正在检查状态代码是否为 200
。