【问题标题】:Rake test - creates YAML error, how do I fix this?Rake 测试 - 创建 YAML 错误,我该如何解决?
【发布时间】:2012-08-22 12:51:44
【问题描述】:

运行 Rake 测试时,我收到一些涉及 YAML 文件的错误。关于如何解决它的任何想法?

运行测试:EEEEEEEE

在 0.070970 秒、112.7237 次测试/秒、0.0000 次断言/秒内完成测试。

1) 错误:test_should_create_product(ProductsControllerTest): ActiveRecord::Fixture::FormatError: 解析时发生 YAML 错误 /Users/ka/src/ruby-test/depot/test/fixtures/products.yml。请注意 YAML 必须始终使用空格缩进。标签不是 允许。请查看 yaml.org/faq.html 确切的错误是: Psych::SyntaxError: (): found character that cannot start any token 在第 5 行第 1 列扫描下一个令牌时 /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures/file.rb:43:in rows' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures/file.rb:29:ineach' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures.rb:670:in read_fixture_files' 中的块(2 级) /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures/file.rb:20:inopen' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures.rb:669:in 块在 read_fixture_files' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures.rb:668:in 每个' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures.rb:668:in read_fixture_files' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures.rb:548:in 初始化' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures.rb:482:in 新的' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures.rb:482:in create_fixtures'中的块(2级) /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures.rb:479:in 地图' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures.rb:479:in 阻止 create_fixtures' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/connection_adapters/abstract_adapter.rb:168:in disable_referential_integrity' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures.rb:476:in create_fixtures' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures.rb:895:in load_fixtures' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures.rb:849:in setup_fixtures' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:429:in _run__2260432841310236767__setup__3358002533217195166__callbacks' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:405:in __run_callback' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:385:in _run_setup_callbacks' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:81:in 运行回调' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.8/lib/active_support/testing/setup_and_teardown.rb:35:in `运行'

2) 错误:test_should_destroy_product(ProductsControllerTest): ActiveRecord::Fixture::FormatError: 解析时发生 YAML 错误 /Users/ka/src/ruby-test/depot/test/fixtures/products.yml。请注意 YAML 必须始终使用空格缩进。标签不是 允许。请看一下://www.yaml.org/faq.html 确切的 错误是:Psych::SyntaxError: (): found character that cannot start 在第 5 行第 1 列扫描下一个标记时的任何标记 /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures/file.rb:43:in rows' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures/file.rb:29:ineach' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures.rb:670:in read_fixture_files' 中的块(2 级) /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures/file.rb:20:inopen' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures.rb:669:in 块在 read_fixture_files' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures.rb:668:in 每个' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures.rb:668:in read_fixture_files' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures.rb:548:in 初始化' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures.rb:482:in 新的' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures.rb:482:in create_fixtures'中的块(2级) /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures.rb:479:in 地图' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures.rb:479:in 阻止 create_fixtures' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/connection_adapters/abstract_adapter.rb:168:in disable_referential_integrity' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures.rb:476:in create_fixtures' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures.rb:895:in load_fixtures' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures.rb:849:in setup_fixtures' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:429:in _run__2260432841310236767__setup__3358002533217195166__callbacks' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:405:in __run_callback' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:385:in _run_setup_callbacks' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:81:in 运行回调' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.8/lib/active_support/testing/setup_and_teardown.rb:35:in `运行'

3) 错误:test_should_get_edit(ProductsControllerTest): ActiveRecord::Fixture::FormatError: 解析时发生 YAML 错误 /Users/ka/src/ruby-test/depot/test/fixtures/products.yml。请注意 YAML 必须始终使用空格缩进。标签不是 允许。请看一下://www.yaml.org/faq.html 确切的 错误是:Psych::SyntaxError: (): found character that cannot start 在第 5 行第 1 列扫描下一个标记时的任何标记 /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures/file.rb:43:in rows' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures/file.rb:29:ineach' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures.rb:670:in read_fixture_files' 中的块(2 级) /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures/file.rb:20:inopen' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures.rb:669:in 块在 read_fixture_files' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures.rb:668:in 每个' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures.rb:668:in read_fixture_files' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures.rb:548:in 初始化' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures.rb:482:in 新的' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures.rb:482:in create_fixtures'中的块(2级) /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures.rb:479:in 地图' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures.rb:479:in 阻止 create_fixtures' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/connection_adapters/abstract_adapter.rb:168:in disable_referential_integrity' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures.rb:476:in create_fixtures' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures.rb:895:in load_fixtures' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures.rb:849:in setup_fixtures' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:429:in _run__2260432841310236767__setup__3358002533217195166__callbacks' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:405:in __run_callback' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:385:in _run_setup_callbacks' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:81:in 运行回调' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.8/lib/active_support/testing/setup_and_teardown.rb:35:in `运行'

4) 错误:test_should_get_index(ProductsControllerTest): ActiveRecord::Fixture::FormatError: 解析时发生 YAML 错误 /Users/ka/src/ruby-test/depot/test/fixtures/products.yml。请注意 YAML 必须始终使用空格缩进。标签不是 允许。请看一下://www.yaml.org/faq.html 确切的 错误是:Psych::SyntaxError: (): found character that cannot start 在第 5 行第 1 列扫描下一个标记时的任何标记 /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures/file.rb:43:in rows' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures/file.rb:29:ineach' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures.rb:670:in read_fixture_files' 中的块(2 级) /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures/file.rb:20:inopen' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures.rb:669:in 块在 read_fixture_files' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures.rb:668:in 每个' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures.rb:668:in read_fixture_files' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures.rb:548:in 初始化' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures.rb:482:in 新的' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures.rb:482:in create_fixtures'中的块(2级) /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures.rb:479:in 地图' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures.rb:479:in 阻止 create_fixtures' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/connection_adapters/abstract_adapter.rb:168:in disable_referential_integrity' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures.rb:476:in create_fixtures' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures.rb:895:in load_fixtures' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures.rb:849:in setup_fixtures' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:429:in _run__2260432841310236767__setup__3358002533217195166__callbacks' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:405:in __run_callback' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:385:in _run_setup_callbacks' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:81:in 运行回调' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.8/lib/active_support/testing/setup_and_teardown.rb:35:in `运行'

5) 错误:test_should_get_new(ProductsControllerTest): ActiveRecord::Fixture::FormatError: 解析时发生 YAML 错误 /Users/ka/src/ruby-test/depot/test/fixtures/products.yml。请注意 YAML 必须始终使用空格缩进。标签不是 允许。请看一下://www.yaml.org/faq.html 确切的 错误是:Psych::SyntaxError: (): found character that cannot start 在第 5 行第 1 列扫描下一个标记时的任何标记 /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures/file.rb:43:in rows' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures/file.rb:29:ineach' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures.rb:670:in read_fixture_files' 中的块(2 级) /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures/file.rb:20:inopen' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures.rb:669:in 块在 read_fixture_files' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures.rb:668:in 每个' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures.rb:668:in read_fixture_files' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures.rb:548:in 初始化' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures.rb:482:in 新的' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures.rb:482:in create_fixtures'中的块(2级) /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures.rb:479:in 地图' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures.rb:479:in 阻止 create_fixtures' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/connection_adapters/abstract_adapter.rb:168:in disable_referential_integrity' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures.rb:476:in create_fixtures' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures.rb:895:in load_fixtures' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures.rb:849:in setup_fixtures' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:429:in _run__2260432841310236767__setup__3358002533217195166__callbacks' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:405:in __run_callback' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:385:in _run_setup_callbacks' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:81:in 运行回调' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.8/lib/active_support/testing/setup_and_teardown.rb:35:in `运行'

6) 错误:test_should_show_product(ProductsControllerTest): ActiveRecord::Fixture::FormatError: 解析时发生 YAML 错误 /Users/ka/src/ruby-test/depot/test/fixtures/products.yml。请注意 YAML 必须始终使用空格缩进。标签不是 允许。请看一下://www.yaml.org/faq.html 确切的 错误是:Psych::SyntaxError: (): found character that cannot start 在第 5 行第 1 列扫描下一个标记时的任何标记 /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures/file.rb:43:in rows' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures/file.rb:29:ineach' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures.rb:670:in read_fixture_files' 中的块(2 级) /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures/file.rb:20:inopen' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures.rb:669:in 块在 read_fixture_files' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures.rb:668:in 每个' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures.rb:668:in read_fixture_files' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures.rb:548:in 初始化' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures.rb:482:in 新的' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures.rb:482:in create_fixtures'中的块(2级) /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures.rb:479:in 地图' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures.rb:479:in 阻止 create_fixtures' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/connection_adapters/abstract_adapter.rb:168:in disable_referential_integrity' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures.rb:476:in create_fixtures' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures.rb:895:in load_fixtures' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures.rb:849:in setup_fixtures' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:429:in _run__2260432841310236767__setup__3358002533217195166__callbacks' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:405:in __run_callback' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:385:in _run_setup_callbacks' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:81:in 运行回调' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.8/lib/active_support/testing/setup_and_teardown.rb:35:in `运行'

7) 错误:test_should_update_product(ProductsControllerTest): ActiveRecord::Fixture::FormatError: 解析时发生 YAML 错误 /Users/ka/src/ruby-test/depot/test/fixtures/products.yml。请注意 YAML 必须始终使用空格缩进。标签不是 允许。请看一下://www.yaml.org/faq.html 确切的 错误是:Psych::SyntaxError: (): found character that cannot start 在第 5 行第 1 列扫描下一个标记时的任何标记 /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures/file.rb:43:in rows' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures/file.rb:29:ineach' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures.rb:670:in read_fixture_files' 中的块(2 级) /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures/file.rb:20:inopen' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures.rb:669:in 块在 read_fixture_files' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures.rb:668:in 每个' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures.rb:668:in read_fixture_files' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures.rb:548:in 初始化' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures.rb:482:in 新的' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures.rb:482:in create_fixtures'中的块(2级) /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures.rb:479:in 地图' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures.rb:479:in 阻止 create_fixtures' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/connection_adapters/abstract_adapter.rb:168:in disable_referential_integrity' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures.rb:476:in create_fixtures' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures.rb:895:in load_fixtures' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures.rb:849:in setup_fixtures' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:429:in _run__2260432841310236767__setup__3358002533217195166__callbacks' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:405:in __run_callback' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:385:in _run_setup_callbacks' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:81:in 运行回调' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.8/lib/active_support/testing/setup_and_teardown.rb:35:in `运行'

8) 错误:test_should_get_index(StoreControllerTest): ActiveRecord::Fixture::FormatError: 解析时发生 YAML 错误 /Users/ka/src/ruby-test/depot/test/fixtures/products.yml。请注意 YAML 必须始终使用空格缩进。标签不是 允许。请看一下://www.yaml.org/faq.html 确切的 错误是:Psych::SyntaxError: (): found character that cannot start 在第 5 行第 1 列扫描下一个标记时的任何标记 /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures/file.rb:43:in rows' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures/file.rb:29:ineach' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures.rb:670:in read_fixture_files' 中的块(2 级) /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures/file.rb:20:inopen' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures.rb:669:in 块在 read_fixture_files' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures.rb:668:in 每个' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures.rb:668:in read_fixture_files' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures.rb:548:in 初始化' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures.rb:482:in 新的' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures.rb:482:in create_fixtures'中的块(2级) /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures.rb:479:in 地图' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures.rb:479:in 阻止 create_fixtures' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/connection_adapters/abstract_adapter.rb:168:in disable_referential_integrity' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures.rb:476:in create_fixtures' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures.rb:895:in load_fixtures' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/fixtures.rb:849:in setup_fixtures' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:429:in _run__3541484041722071485__setup__3358002533217195166__callbacks' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:405:in __run_callback' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:385:in _run_setup_callbacks' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:81:in 运行回调' /Users/ka/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.8/lib/active_support/testing/setup_and_teardown.rb:35:in `运行'

8 个测试,0 个断言,0 个失败,8 个错误,0 个跳过 Errors running 测试:单位! # 错误运行测试:功能! #

【问题讨论】:

  • /Users/ka/src/ruby-test/depot/test/fixtures/products.yml 看起来像什么?它是否包含制表符而不是空格?
  • 这个错误看起来很简单:“请注意,YAML 必须始终使用空格缩进。不允许使用制表符。” products.yml 文件可能包含一些标签。
  • 谢谢,是一些标签做到了..

标签: ruby-on-rails yaml rake-test


【解决方案1】:

打开您的products.yml 文件,在其中看到单词前后没有多余的空格 都在一行中:

 title: MyString
description: MyText
image_url: MyString
price: 9.99

然后它给出错误“标题前没有空格”,它必须是 一:

title: MyString
description: MyText
image_url: MyString
price: 9.99

【讨论】:

  • 还要确保在 YML 文件中使用空格而不是制表符。使用这样的 linter 验证您的 YML:yamllint.com
猜你喜欢
  • 2020-11-04
  • 2021-08-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-21
  • 2018-11-10
  • 2016-09-09
相关资源
最近更新 更多