问题标签 [database-cleaner]

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 投票
1 回答
603 浏览

unit-testing - Spring Data Neo4j - 单元测试 - cleandb NullPointerException

我正在使用 spring-boot (1.1.8.RELEASE)、spring-data-neo4j (3.2.0.RELEASE) 构建应用程序,以便通过 rest api 连接到独立的 neo4j 服务器。我正在使用 spring-test 来测试应用程序。

我想在运行单元测试之前清理数据库。我创建了一个方法 cleanDb 在开始事务之前执行。但是当运行 AppTests 中的 cleanDb 方法时,我会遇到 NullPointerException。

仅供参考,当我删除此方法时,所有单元测试都通过了。

谢谢您的帮助

在我的弹簧配置下面找到

在我的测试课下面找到

当我执行单元测试时,在故障跟踪下面找到:

)

谢谢

问候

0 投票
1 回答
880 浏览

ruby-on-rails - 带有 mongoid、devise、database_cleaner 的 rspec:ActiveRecord::ConnectionNotEstablished 错误

我正在尝试将 rspec 与 mongoid、devise、database_cleaner 一起使用,但我遇到了这个错误

我的gemfile测试

和我的 rails_helper.rb ==

我应该怎么办??

0 投票
1 回答
34 浏览

ruby-on-rails - 数据库整理策略是否会强制每个线程使用同一个数据库?

在这里参考这个线程,这是否意味着截断策略将强制每个线程使用相同的数据库,还是意味着 Capybara + Rspec 将在同一个线程中运行?

0 投票
1 回答
78 浏览

ruby-on-rails - 在 db 中创建但未显示在页面中的实例。在 Rspec 中测试清洁

我正在尝试在规格之间清理我的数据库。所以我决定使用流行的 gem database_cleaner。现在的问题是,当我使用 FactoryGirl 创建模型的新实例时,它已创建但未显示在页面中。

这是我的规范助手:

我试图运行的简单测试就是这个:

我使用 binding.pry 来检查设计的数量并查看页面。结果是设计被正确创建但没有显示在页面中。

提前致谢!

0 投票
1 回答
557 浏览

ruby-on-rails - rails ActiveRecord 事务完整性/数据未提交中间场景规范?

我知道我误解了 ActiveRecord 如何保持完整性/工作:希望有人可以为我解释为什么以下内容不起作用?

我们有一个异常情况:我们的 rails 应用程序调用了一个已编译的二进制文件,该二进制文件访问共享数据库中的(并创建一个新的表行,它不会更新现有的行)。因此,我们在 rails_helper 中运行 config.use_transactional_fixtures = false (否则我们会收到保存点错误)。数据需要在场景中提交,以便此旧版应用程序可以在测试期间访问数据库中的数据。

在测试期间,我们通过 eval(rubyexpression) 设置数据(完整代码见下文)

笔记:

  • 我知道我们应该为此使用 factorygirl,那是另一回事
  • 没有额外的提供者模型代码,例如回调、钩子什么的

使用调试器暂停测试(第 22 行),数据不会保存到数据库中,但一旦 rspec 完成,它就在那里。

我们无法弄清楚为什么!?每次交易后肯定会提交数据,例如eval?

感谢任何指导/学习?

我们试过了

spec_test_eval.rb

test.log 输出

0 投票
1 回答
436 浏览

ruby-on-rails - Rails/RSpec/Capybara - 无事务数据库清理适用于 Selenium 但不适用于 Webkit

所以我已经设置了我的 RSpec 环境,为我的 RSpec Capybara 测试使用截断清理策略,但是当我使用 Webkit 作为我的 Javascript 驱动程序时,我仍然发现某些东西仍在事务中包装我的测试。

Selenium 没有这个问题,这让我很困惑。

这是与 webkit 相关的 RSpec 配置:

我的功能测试如下所示:

如果我用 Webkit 运行这个测试它会失败,但是用 Selenium 它会通过。

我已经尝试了一些调试。如果我在 #update 操作中放置一个调试器语句,我会看到它正确更新了数据库。如果我当时连接到测试数据库,我可以看到数据库中的新信息,这意味着这个更新不能包装在事务中。但是,在 .spec @user 的调试器中,仍然可以看到 Ffaker 在 factory_girl 中生成的原始名称。这让我相信测试是在事务中运行的。

当我将我的 JavaScript 驱动程序更改为 Selenium 时,一切正常。

有任何想法吗?

0 投票
1 回答
618 浏览

ruby-on-rails - 使用 Factory Girl 创建图像的 RSpec 测试

在 rails 4.2.0 应用程序中,我使用 RSpec 和 Factory Girl 进行测试。在应用程序中,我使用 Paperclip 进行图像上传。当我使用空白图像运行测试时,图像被放置在公用文件夹中。

有什么办法可以使用 database_cleaner gem 来解决这个问题?

到目前为止,我有这个:

规格\支持\factory_girl.rb

规范\支持\database_cleaner.rb

0 投票
3 回答
1393 浏览

ruby-on-rails - How to disable database_cleaner for cucumber/rails?

I set up cucumber/rails for my rails project and populated the test database with data, to run tests against it. When I run "rake cucumber" the database gets truncated. I tried to set DatabaseCleaner.strategy to :transaction and nil, but it still gets truncated. I'd prefer not to use database_cleaner at all for now, but its presence is required by cucumber. Here is my "./features/support/env.rb" file:

0 投票
0 回答
229 浏览

database-cleaner - Database_cleaner 问题。不工作

我的 test_helper:

我的宝石文件:

我究竟做错了什么?我正在运行我的测试,而我的单元和集成测试并没有像他们应该的那样独立运行。我应该怎么办?我错过了什么?

我尝试查找解决方案,但注意到似乎有效。我错过了什么?

0 投票
1 回答
228 浏览

ruby-on-rails - DatabaseCleaner 清理测试和开发?

为什么此配置似乎同时清理了我test和我的development数据库?development每次运行时都必须重新播种,这很烦人rspec

数据库.yml