以前的随笔都是按照书上的例子写下来的,但是,这次在测试Model时,按照书上的例子代码怎么也走不通,所以就换个方式,这篇变成了提问。
按照书上的说法,在products_test.rb开始的时候,会根据定义的yml文件,加载测试数据到一个Hash里,这样,在test的时候我们就可以根据yml文件中用例的名字来访问一个product对象,例如:
def test_read_with_hash assert_kind_of Product, @product vc_book = @products["version_control_book"] assert_equal vc_book["id"], @product.id assert_equal vc_book["title"], @product.title assert_equal vc_book["description"], @product.description assert_equal vc_book["image_url"], @product.image_url assert_equal vc_book["price"], @product.price assert_equal vc_book["date_available"], @product.date_available_before_type_cast end
但是,根据在运行测试的时候总是提示vc_book为Null的错误:
3) 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 occurred while evaluating nil.[] test/unit/product_test.rb:41:in `test_read_with_hash'
怎么回事呢?即使将product_test.rb里的内容全部替换成书中完整的代码也还是不行,是不是版本问题?
以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索测试
, description
根据
ruby on rails model、ruby on rails、ruby on rails 教程、ruby on rails pdf、ruby on rails 5 教程,以便于您获取更多的相关知识。
时间: 2024-12-22 02:34:08