【问题标题】:Rspec rails unit test - Ruby on railsRspec rails 单元测试 - Ruby on rails
【发布时间】:2015-08-31 08:09:41
【问题描述】:

我有这个单元测试代码:

require 'rails_helper'
require 'fetch_controller'

   RSpec.describe FetchController, type: :controller do
   it "parse base 64 url" do
     result = FetchController.parse_urls('aHR0cDovL3d3dy5nb29nbGUuY29t')

    expect(result[0]).to eq('http://www.google.com')

   end
 end

我想测试 fetch_controller 中的 parse_urls 方法:

class FetchController < ApplicationController
...
  def parse_urls(base)
  Base64.decode64(base).split(',')
end

但是当我尝试运行它时出现错误 ": in `require': cannot load such file -- fetch_controller (LoadError)"

感谢您的帮助, 约尔

【问题讨论】:

  • 您是否尝试删除require 'fetch_controller' 行?
  • 你写过名为“fetch_controller”的文件吗?
  • 我的应用下有 fetch_controller。我应该根据规范再写一个吗?如果是这样,我应该在文件中写什么:'class FetchController def initialize end end'我不明白如何初始化它。谢谢!
  • @Joel 你不应该手动要求控制器,它应该由 rspec 完成。
  • @dimakura,我删除了 require 控制器,但我得到了未初始化的常量 FetchController

标签: ruby-on-rails ruby unit-testing rspec


【解决方案1】:

好的,所以你使用命名空间。那么,专有名词是

class Api::FetchController < ApplicationController

RSpec.describe Api::FetchController, type: :controller do

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-25
    相关资源
    最近更新 更多