gpt4 book ai didi

ruby-on-rails - 铁路测试用例 fixture 未加载

转载 作者:行者123 更新时间:2023-12-04 01:12:59 25 4
gpt4 key购买 nike

Rails 出现在 不是 正在加载任意 用于单元或功能测试的 fixture 。我有一个简单的“products.yml”,可以解析并显示正确:

ruby:
title: Programming Ruby 1.9
description:
Ruby is the fastest growing and most exciting dynamic
language out there. If you need to get working programs
delivered fast, you should add Ruby to your toolbox.
price: 49.50
image_url: ruby.png

我的 Controller 功能测试开始于:
require 'test_helper'

class ProductsControllerTest < ActionController::TestCase
fixtures :products

setup do
@product = products(:one)
@update = {
:title => 'Lorem Ipsum' ,
:description => 'Wibbles are fun!' ,
:image_url => 'lorem.jpg' ,
:price => 19.95
}
end

根据这本书,Rails 应该“神奇地”加载固定装置(因为我的 test_helper.rb 中有 fixtures :all。我还添加了显式固定装置加载(见上文)。是的 Rails 提示:
user @ host ~/Dropbox/Rails/depot > rake test:functionals
(in /Somewhere/Users/user/Dropbox/Rails/depot)
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby -Ilib:test "/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake/rake_test_loader.rb" "test/functional/products_controller_test.rb"
Loaded suite /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake/rake_test_loader
Started
EEEEEEE
Finished in 0.062506 seconds.

1) Error:
test_should_create_product(ProductsControllerTest):
NoMethodError: undefined method `products' for ProductsControllerTest:Class
/test/functional/products_controller_test.rb:7

2) Error:
test_should_destroy_product(ProductsControllerTest):
NoMethodError: undefined method `products' for ProductsControllerTest:Class
/test/functional/products_controller_test.rb:7
...

我确实遇到了其他 Rails 测试 fixture 问题 Rails unit testing doesn't load fixtures ,但这会导致插件问题(与加载固定装置的顺序有关)。

顺便说一句,我正在使用 Rail 2.3.5 和 Ruby 1.8.7 的 Mac OS X 10.6 上开发,没有额外的插件(除了基本安装)。

有关如何调试的任何指针, 为什么 Rails 的魔力似乎在这里失败了?是版本问题吗?我可以将代码跟踪到库中并找到答案吗?有这么多“mixin”模块,我找不到 fixtures 的位置。方法确实存在。

最佳答案

使用 Rails 3.2,我发现在运行单个测试文件(指定 TEST=/test/unit/foo.rb)时,未加载固定装置。但是,当运行测试时

ruby -Itest /test/unit/foo.rb

固定装置按预期加载。

关于ruby-on-rails - 铁路测试用例 fixture 未加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2985125/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com