Ruby on rails 尝试运行rspec测试文件,它可以';我找不到
我试图学习RSpec,因此从一个简单的计算器程序开始 对如何让rspec找到文件感到困惑,因为它一直说它无法加载它 这是迄今为止的过程: 1 计算器类被编写并保存为Ruby on rails 尝试运行rspec测试文件,它可以';我找不到,ruby-on-rails,ruby,rspec,Ruby On Rails,Ruby,Rspec,我试图学习RSpec,因此从一个简单的计算器程序开始 对如何让rspec找到文件感到困惑,因为它一直说它无法加载它 这是迄今为止的过程: 1 计算器类被编写并保存为Calculator.rb文件。创建lib文件夹并将calculator.rb文件移动到其中 2 在初始目录(即lib文件夹之外)中,irspec--init创建.rspec文件&rspec/spec\u helper.rb文件 3 然后我创建writecalculator\u spec.rb文件并将其放入rspec文件夹中。在cal
Calculator.rb
文件。创建lib
文件夹并将calculator.rb
文件移动到其中
2
在初始目录(即lib文件夹之外)中,irspec--init
创建.rspec
文件&rspec/spec\u helper.rb
文件
3
然后我创建writecalculator\u spec.rb
文件并将其放入rspec
文件夹中。在calculator\u spec.rb
文件的顶部,我有一个require'calculator.rb'
4
我运行这个命令,rspec calculator\u spec.rb
,我得到这个“加载”:不能加载这样的文件
如何修复此问题,以便rspec命令可以找到该文件
谢谢此命令将位于
spec/spec\u helper.rb
require File.join(File.dirname(__FILE__), '../lib/calculator.rb'])
不确定您正在使用哪个版本的RSpec,但除了默认的
.RSpec
文件外,它应该创建一个spec
目录,而不是RSpec
@吉姆·范·弗利特的回答应该很有效。但是,最佳做法是在spec
目录下镜像代码目录。所以它应该是这样的:
我还要将以下内容添加到您的计算器\u spec.rb
文件的顶部
require 'spec_helper'
require File.expand_path('../../../lib/calculator', __FILE__)
好的,请原谅我的困惑,需要那条线吗?我认为使用
RSpec
,可以运行一个通用命令,这样所有测试都可以运行。。。否则,我必须对每个文件都执行该行?另外,我现在运行它,同时在lib
和rspec
文件之外,再次出现无法加载错误…默认情况下,rspec
不知道库的代码库。rspec spec_helper文件通常用于加载所需的入口点。对于将在lib中长期存在的代码库,按照惯例,该文件反过来需要库所需的任何其他文件或文件集。Rspec在测试方面有自己的约定。一般来说,您编写的满足***\u spec.rb
regex的规范应该可以由rspec
运行,不管您编写了多少规范。好吧,我没有意识到rspec
不知道lib
和rspec
文件。我应该从这两个文件夹中取出所有文件并从父目录中运行吗?噢,哇。我只是取出所有这些文件,然后运行这个命令:rspec calculator\u spec.rb--color
,它成功了!但我认为“约定”既是lib
又是spec
文件夹。。。