首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 其他相关 >

一个关于Test Fixtures的有关问题

2012-11-21 
一个关于Test Fixtures的问题《应用Rails进行敏捷Web开发》第12章 任务T:测试代码:?require?File.dirname(__

一个关于Test Fixtures的问题
《应用Rails进行敏捷Web开发》第12章 任务T:测试

代码:
?

  1. require?File.dirname(__FILE__)?+?'/../test_helper'??
  2. ??
  3. class?ProductTest?<?Test::Unit::TestCase??
  4. ??fixtures?:products??
  5. ??
  6. ??def?setup??
  7. ????@product?=?Product.find(1)??
  8. ??end??
  9. ????
  10. ??def?test_read_with_hash??
  11. ????assert_kind_of?Product,@product??
  12. ????vc_book?=?@products["version_control_book"]??
  13. ????assert_equal?vc_book["id"],?@product.id??
  14. ????assert_equal?vc_book["title"],?@product.title??
  15. ????assert_equal?vc_book["description"],?@product.description??
  16. ????assert_equal?vc_book["image_url"],?@product.image_url??
  17. ????assert_equal?vc_book["price"],?@product.price??
  18. ????assert_equal?vc_book["date_available"],?@product.date_available_before_type_cast??
  19. ??end??
  20. end??

测试失败,提示信息:
Loaded suite test/unit/product_test
Started
E
Finished in 0.235 seconds.

? 1) Error:
test_read_with_hash(ProductTest):
NoMethodError: You have a nil object when you didn't expect it!
You might have expected an instance of Array.
The error occured while evaluating nil.[]
??? test/unit/product_test.rb:12:in `test_read_with_hash'

1 tests, 1 assertions, 0 failures, 1 errors

请问这是咋回事?谢谢。

Rails版本1.1.6。Test Fixtures 文件 products.yml
  1. version_control_book:??
  2. ??id:??????????????????????? 1??
  3. ??title:???????????????????? Pragmatic?Version?Control??
  4. ??description:???????????????How?to?use?version?control??
  5. ??image_url:?????????????????http:/images/Pragmatic?Version?Control.jpg??
  6. ??price:?????????????????????29.95??
  7. ??date_available:??????????? 2006-05-10?00:00:00??
  8. automation_book:??
  9. ??id:?????????????????????? 2??
  10. ??title:??????????????????? Pragmatic?Project?Automation??
  11. ??description:??????????????How?to?automate?your?project??
  12. ??image_url:????????????????http:/images/Pragmatic?Project?Automation.jpg??
  13. ??price:????????????????????29.95??
  14. ??date_available:?????????? 2006-05-10?00:00:00??
1 楼 cohesion 2006-12-28   问题已经解决
将test_helper.rb中的self.use_instantiated_fixtures设置成true就可以了。

热点排行