我正在尝试使用一些Ruby文件和RSpec测试在一个小Ruby中创建一个Guardfile.这不是Rails项目.
当我跑步时,gem install guard我得到以下内容:
$ gem install guard
Fetching: listen-1.3.1.gem (100%)
Successfully installed listen-1.3.1
Fetching: lumberjack-1.0.4.gem (100%)
Successfully installed lumberjack-1.0.4
Fetching: guard-1.8.3.gem (100%)
Successfully installed guard-1.8.3
Installing ri documentation for listen-1.3.1
Installing ri documentation for lumberjack-1.0.4
unable to convert "\xCF" from ASCII-8BIT to UTF-8 for bin/fsevent_watch_guard, skipping
Installing ri documentation for guard-1.8.3
3 gems installed
Run Code Online (Sandbox Code Playgroud)
显然应该安装"\ xCF",但事实并非如此.我无法弄清楚这是什么,以及它是否是我问题的可能原因.
之后,当我尝试为RSpec测试创建一个防护时,会发生以下情况:
$ guard init rspec
19:45:11 - INFO - Writing new Guardfile to /home/kathryn/demo3/Guardfile
19:45:11 - ERROR - Could not load …Run Code Online (Sandbox Code Playgroud) 这是自动生成的Rails 4中的destroy操作测试,作为规范的一部分vehicles_controller.rb:
describe "DELETE destroy" do
it "destroys the requested vehicle" do
vehicle = Vehicle.create! valid_attributes
expect {
delete :destroy, {:id => vehicle.to_param}, valid_session
}.to change(Vehicle, :count).by(-1)
end
it "redirects to the vehicles list" do
vehicle = Vehicle.create! valid_attributes
delete :destroy, {:id => vehicle.to_param}, valid_session
response.should redirect_to(vehicles_url)
end
end
Run Code Online (Sandbox Code Playgroud)
这是我在控制器中得到的,再次非常标准:
def destroy
@vehicle = Vehicle.find(params[:id])
@vehicle.destroy
flash[:notice] = "Vehicle has been deleted"
redirect_to vehicles_url
end
Run Code Online (Sandbox Code Playgroud)
这在应用程序本身中运行得很好 - 当您删除车辆时,它会重定向回veh_url,并且该条目将从数据库中删除.服务器日志也看起来完全正常.但是,当我运行规范时,它们会失败如下:
1) VehiclesController DELETE destroy destroys the requested vehicle
Failure/Error: expect …Run Code Online (Sandbox Code Playgroud)