gor*_*die 2 ruby ruby-on-rails
我正在学习 Ruby。我现在正在尝试测试我的一个控制器。
我的测试文件是myapp/test/testing.rb,而我的控制器位于myapp/app/controllers/test_controller.rb。
test.rb的内容是
data = testController.mymethod()
puts(data)
Run Code Online (Sandbox Code Playgroud)
但是做的时候
ruby myapp/test/testing.rb
Run Code Online (Sandbox Code Playgroud)
在终端中,我收到警告:
回溯(最近一次调用):myapp/test/testing.rb:6:in `':未初始化的常量 testController (NameError)
有人可以向我解释我所做的事情是错误的以及我应该怎么做吗?
谢谢 !
目前接受的测试 Rails 控制器的方法是向应用程序发送 http 请求并编写有关响应的断言。
RailsActionDispatch::IntegrationTest为 Minitest 提供集成测试,Minitest 是 Ruby 标准库测试框架。ActionDispatch::ControllerTest对于新应用程序,不再建议使用模拟整个框架的旧方法。
这是控制器测试的基本“Hello World”示例:
require 'test_helper'
class BlogFlowTest < ActionDispatch::IntegrationTest
test "can see the welcome page" do
get "/"
assert_select "h1", "Welcome#index"
end
end
Run Code Online (Sandbox Code Playgroud)
您还可以使用 RSpec,这是一个拥有大量追随者的不同测试框架。在 RSpec 中,您编写请求规范,它只是 ActionDispatch::IntegrationTest 之上的一个薄包装。
| 归档时间: |
|
| 查看次数: |
12621 次 |
| 最近记录: |