问题标签 [rake-test]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
827 浏览

mysql - ActiveRecord::StatementInvalid: Mysql2::Error: Unknown column

我正在尝试使用 TeamCity 运行单元和集成测试。

已经配置了一个运行 rake 测试的步骤(默认情况下包括测试负载、清除等)。但是我所有的单元测试都失败了:

ActiveRecord::StatementInvalid: Mysql2::Error: Unknown column 'bid_for_referred_user' in 'field list': INSERT INTOgeneral_settings` ...

我不知道发生了什么,因为我在另一台服务器上设置了另一个版本的 MySQL(5.5)并且大部分测试都通过了。MySQL版本有关系吗?这里我在 CentOS 5.7 上使用 5.0.95。或者只是我忘了在 TeamCiy 中配置一些东西?

0 投票
0 回答
263 浏览

ruby-on-rails - 单元测试中的“ActionController::RoutingError: No route matches”错误

我正在我的持续集成服务器上运行单元集成测试。我收到了其中 3 个格式相同的错误,这里是测试“PaymentMethodsControllerTest.test_should_update_active_field”的示例:

这些是其他的: ProductsControllerTest.test_should_update_active_field:

SectionsControllerTest.test_should_update_active_field:

开发人员声称他们的测试在他们的环境中运行良好,但不是我。我正在使用 ruby​​ 1.9.2p320,Rails 3.2.0

0 投票
1 回答
10805 浏览

ruby-on-rails - Rake 测试 - 创建 YAML 错误,我该如何解决?

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

运行测试:EEEEEEEE

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

1) 错误:test_should_create_product(ProductsControllerTest): ActiveRecord::Fixture::FormatError: 解析 /Users/ka/src/ruby-test/depot/test/fixtures/products.yml 时出现 YAML 错误。请注意,YAML 必须始终使用空格缩进。不允许使用标签。请查看 yaml.org/faq.html 确切的错误是:Psych::SyntaxError: (): found character that cannot start any token while scanning for the next token at line 5 column 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:在 read_fixture_files'/Users/ka/ 中的块(2 级)中。

2) 错误:test_should_destroy_product(ProductsControllerTest): ActiveRecord::Fixture::FormatError: 解析 /Users/ka/src/ruby-test/depot/test/fixtures/products.yml 时出现 YAML 错误。请注意,YAML 必须始终使用空格缩进。不允许使用标签。请查看://www.yaml.org/faq.html 确切的错误是:Psych::SyntaxError: (): found character that cannot start any token while scanning for the next token at line 5 column 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:在 read_fixture_files'/Users/ka/ 中的块(2 级)中。

3) 错误:test_should_get_edit(ProductsControllerTest): ActiveRecord::Fixture::FormatError: 解析 /Users/ka/src/ruby-test/depot/test/fixtures/products.yml 时出现 YAML 错误。请注意,YAML 必须始终使用空格缩进。不允许使用标签。请查看://www.yaml.org/faq.html 确切的错误是:Psych::SyntaxError: (): found character that cannot start any token while scanning for the next token at line 5 column 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:在 read_fixture_files'/Users/ka/ 中的块(2 级)中。

4) 错误:test_should_get_index(ProductsControllerTest): ActiveRecord::Fixture::FormatError: 解析 /Users/ka/src/ruby-test/depot/test/fixtures/products.yml 时出现 YAML 错误。请注意,YAML 必须始终使用空格缩进。不允许使用标签。请查看://www.yaml.org/faq.html 确切的错误是:Psych::SyntaxError: (): found character that cannot start any token while scanning for the next token at line 5 column 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:在 read_fixture_files'/Users/ka/ 中的块(2 级)中。

5) 错误:test_should_get_new(ProductsControllerTest): ActiveRecord::Fixture::FormatError: 解析 /Users/ka/src/ruby-test/depot/test/fixtures/products.yml 时出现 YAML 错误。请注意,YAML 必须始终使用空格缩进。不允许使用标签。请查看://www.yaml.org/faq.html 确切的错误是:Psych::SyntaxError: (): found character that cannot start any token while scanning for the next token at line 5 column 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:在 read_fixture_files'/Users/ka/ 中的块(2 级)中。

6) 错误:test_should_show_product(ProductsControllerTest): ActiveRecord::Fixture::FormatError: 解析 /Users/ka/src/ruby-test/depot/test/fixtures/products.yml 时出现 YAML 错误。请注意,YAML 必须始终使用空格缩进。不允许使用标签。请查看://www.yaml.org/faq.html 确切的错误是:Psych::SyntaxError: (): found character that cannot start any token while scanning for the next token at line 5 column 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:在 read_fixture_files'/Users/ka/ 中的块(2 级)中。

7) 错误:test_should_update_product(ProductsControllerTest): ActiveRecord::Fixture::FormatError: 解析 /Users/ka/src/ruby-test/depot/test/fixtures/products.yml 时出现 YAML 错误。请注意,YAML 必须始终使用空格缩进。不允许使用标签。请查看://www.yaml.org/faq.html 确切的错误是:Psych::SyntaxError: (): found character that cannot start any token while scanning for the next token at line 5 column 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:在 read_fixture_files'/Users/ka/ 中的块(2 级)中。

8) 错误:test_should_get_index(StoreControllerTest): ActiveRecord::Fixture::FormatError: 解析 /Users/ka/src/ruby-test/depot/test/fixtures/products.yml 时出现 YAML 错误。请注意,YAML 必须始终使用空格缩进。不允许使用标签。请查看://www.yaml.org/faq.html 确切的错误是:Psych::SyntaxError: (): found character that cannot start any token while scanning for the next token at line 5 column 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:在 read_fixture_files'/Users/ka/ 中的块(2 级)中。

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

0 投票
2 回答
1170 浏览

ruby-on-rails - 如何防止“rake test”删除“rake db:seed”数据?

我的 Ruby 版本是 ruby​​ 1.9.3p385 。我的 Rails 版本是 3.2.12。

我使用以下内容加载测试数据库:

一切都很好。所有工厂女孩的东西都装得很好。

test/factories.rb 的内容包含工厂。db/seeds.rb 的内容很简单:

现在,当我使用以下命令运行测试时:

Rails 删除了所有种子数据,测试失败。我想要一种方法来防止“rake test”删除数据。

我走的另一条路线是加载种子数据,作为本问题中提到的“rake test”命令的一部分。但是,最终会加载两次测试数据(基本上 db/seeds.rb 出于某种原因被调用了两次)。我放弃了这条路线,现在只想执行以下操作来运行我的测试:

任何帮助表示赞赏。我基本上想防止 rake test 删除我的数据,或者想办法不让 db/seeds.rb 调用两次。

0 投票
2 回答
1334 浏览

ruby-on-rails - 如何使用 rake 测试的回溯调试“TypeError:无法将 nil 转换为字符串”?

在 ruby​​ on rails 项目 [1] 中有很多 rake 测试失败,都出现相同的错误(无法将 nil 转换为字符串),我不知道为什么会发生这种情况,也不知道我应该如何调试它.

例如,这是 rake 测试的第一个 tracebak(我在消息 [2] 的末尾附上了完整的 rake 测试回溯)。

我有超过 200 次测试,总共有 1448 次测试的错误。

问题是,我必须从哪里开始调试它?为什么我在 +90% 的测试中得到相同的错误?

[1] https://github.com/gamersmafia/gamersmafia

[2] https://dl.dropbox.com/u/42306424/salida_rake.txt

0 投票
2 回答
2822 浏览

ruby-on-rails - 运行 rake 测试时如何跳过一些测试文件夹

我有以下配置来运行 gem 的测试:

在我test的文件夹中,我有一个文件夹(比方说skipped_tests),其中包含我不想使用此任务进行测试的测试。是否可以调整模式以跳过特定文件夹,如下所示:

请分享您对此的看法。

谢谢

0 投票
1 回答
347 浏览

ruby - 如何让 Rake TestTask 在测试前执行 Ruby 脚本?

我有一个测试“引导”Ruby 脚本来处理测试设置(需要库,准备测试变量等),我希望 Rake TestTask 在运行测试之前运行这个文件。这可能吗?

我知道 Rake 在一个新的 Ruby 实例中开始测试,所以在 Rakefile 中进行设置是行不通的。文档说我可以使用 将选项传递给 Ruby 命令TestTask.ruby_opts,但我无法找到在主脚本之前执行脚本文件的 Ruby 选项。我确实发现:

但这并不能让我参考我的测试引导脚本

0 投票
1 回答
164 浏览

ruby-on-rails - 当我运行“rake test:models”时,为什么这个模型测试会中断(没有失败)?

我正在使用 Rails 4(测试版)和模型测试部分(迭代 B2)进行敏捷 Web 开发。在我在 test/models/product_test.rb 文件中添加以下代码之前,一切都很好。它是从pdf复制粘贴的。当我尝试为模型运行测试时,我遇到了一个奇怪的错误。我也在出版商的论坛上发过帖子。

这是我rake test:models --trace在终端运行后遇到的错误。

0 投票
2 回答
161 浏览

ruby-on-rails - 从已删除的表列中提取测试错误

所以我为我的 ruby​​ on rails 项目生成了一个脚手架,结果发现我添加了一个不再需要的列。

我生成了一个迁移并删除了额外的列。

然后,我在代码中调用它的任何地方都删除了该列。

但是当我运行“rake test”时,我遇到了几个错误,它们似乎指向这个不存在的列,我修改了 controller_test.rb

我还修改了应该创建测试并应该更新测试

和这个

任何帮助将不胜感激,如果需要更多信息,我可以提供更多

0 投票
0 回答
62 浏览

ruby-on-rails - Rails:有什么方法可以将消息从方法传递回 rake?

我正在测试一种用 ruby​​ on rails 编写的方法。简短的故事是 - 我正在使用 Axlsx gem 从 ruby​​ 创建一个 Excel 电子表格。我想测试(使用 Rake) add_row 方法是否将我想要的样式分配给该行。该方法返回一个数组,其中第一项是行中每个单元格中的文本,第二项是每个单元格的样式信息。

现在,Rake 可以判断出第一个数组元素是正确的,但它会返回nil第二个元素,这意味着样式信息在我的班级之外是不可见的。

与其尝试翻阅 Axlsx 的文档和规则,我认为验证方法中分配的样式并将消息发送回 Rake 以验证这一点要简单得多。有没有办法我可以做到这一点?谢谢!