问题标签 [specjour]

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 投票
6 回答
108550 浏览

ruby-on-rails - 如何在不运行 rake spec 的情况下为 Rails rspec 测试准备测试数据库?

经过重大故障排除后,我发现我需要运行rake spec一次(我可以使用 control-c 中止),然后才能直接运行 rspec(例如,在我们规范的子集上)。我们正在运行 Rails 3.0.7 和 RSpec 2.5.0。

显然,rake 正在运行一些重要的数据库设置任务/代码(我们在根级 rails Rakefile 和可能的其他地方有自定义代码)。

如何在不运行的情况下运行 rake 测试数据库设置任务/代码rake spec

除了能够在文件子集上运行 rspec 之外,我还使用specjour将我们的规范传播到多个核心(尚未成功将它们传播到 LAN 中),但我看到与运行 rspec 相同的行为直接:rake spec在specjour工作之前,我需要在每个测试数据库上运行(假设有两个核心):

注意:我的 config/database.yml 有这个测试条目(对于并行测试 gem 来说很常见):

parallel_tests似乎正确地设置了它的数据库,但是我们的许多规范都失败了。

我还应该提到,运行specjour prepare会导致 Postgres 记录它找不到数据库的错误,但它会创建它们(没有表)。在随后的运行中,不会记录任何错误,也不会创建表。有可能我的整个问题只是一个错误prepare,所以我在 github 上报告了它。

我认为我可以通过Specjour::Configuration.prepare在 .specjour/hooks.rb 中设置来在每个 specjour 测试数据库上运行任意代码,所以如果有任何 rake 任务或我需要运行的其他代码,它可能在那里工作。

0 投票
1 回答
377 浏览

ruby-on-rails - specjour 错误跟踪

在过去的几个小时里,我一直在用 specjour 与这个错误作斗争,最后我来到这里的每一个人。

我正在尝试在 ubuntu 计算机上运行 gem specjour 并不断收到此错误

如果有人知道如何管理它,我将不胜感激。

如您所见,已安装 rspec 并且仅运行 spec 命令就可以正常工作。

这是猫 ./Gemfile

这是bundle show

0 投票
1 回答
124 浏览

ruby-on-rails - 在 Rails 3.2 中使用 specjour

通过使用这些钩子(在 .specjour/hooks.rb 中定义),我们让 specjour (0.4.1) 与我们的 rails 应用程序(rails 3.0.12 & rspec 2.5.0 & rspec-rails 2.5.0)一起工作:

我们刚刚升级到 rails 3.2.6 & rspec 2.10.0 & rspec-rails 2.10.1 & specjour 0.5.6。当我们运行时,所有规范都通过了rake spec

当我们使用 specjour 运行规范时,我们有很多规范失败。我们通过修补已知的 rspec-core 问题来解决它以保留配置(而不是重置它)。我们解决了一个夹具问题(更改了名称)。许多仍然失败的规范似乎与使用 Rails 缓存的代码有关。

有谁知道适用于 rails 3.2.6 的 rspec / rspec-rails / specjour (和/或钩子/解决方法/任何东西)的版本组合?

0 投票
0 回答
66 浏览

ruby-on-rails - Specjour 和 Spork 集成

我正在使用 Specjour v0.4.1 进行完整的测试套件运行并预加载 Rails 应用程序以使用 Spork 和 Guard 运行单个规范。Specjour 使用多个工作人员(通常是 4 个)同时运行测试。

如何将预加载的应用程序传递给这些工作人员中的每一个?随着 specjour 继续为每个工作人员加载应用程序。

注意:rspec spec/models/example_spec.rb --drb用于强制 rspec 使用预加载的应用程序。

我已经分叉了 specjour 并尝试--drb使用几种方法将标志推送给每个工人,但没有成功。任何见解将不胜感激。谢谢!

注意:hooks.rb配置看起来很有希望(在README中提到),但是,文档非常少。