问题标签 [fixtures]

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 回答
7325 浏览

ruby-on-rails - 防止 Rails 测试删除种子数据

我正在使用 seed.rb 来填充一些状态模型参考数据:

虽然我没有使用状态装置(因为它是种子数据开始,我认为纯粹为了测试而必须复制它并不是 DRY),Rails 测试框架似乎在测试期间删除了所有状态种子数据。(我正在删除、重新创建、迁移和重新播种测试数据库,并在单元测试运行之前确认数据存在。)

结果是这个断言在 seed.rb 中成功,但在单行测试中失败:

我已经尝试在基本测试类夹具语句中明确列出非状态模型,以及翻转事务夹具标志(正如预期的那样,这只会影响测试期间创建的记录)。自然,正在考虑的测试本身不会删除这些记录。

状态记录总是被删除。有没有办法让 Rails 从种子数据中解放出来?我是否需要复制夹具中的所有数据以确保重新加载?在没有重大政治事件的情况下,我预计州数据将相对稳定。

蒂亚

0 投票
1 回答
1735 浏览

django - django 固定装置:在同步数据库上加载多个固定装置

我的 initial_data.json 现在有很多东西。我想知道是否有办法将文件中的数据(按模型)拆分,以便所有文件都通过相同的 manage syncdb 命令加载?

我最近重新审视了这个问题,并提出了一种将代码连接到“真实” post_syncdb 信号的更好方法:

http://www.djangosnippets.org/snippets/1988/

0 投票
3 回答
1123 浏览

ruby-on-rails - Rails fixtures - defining a table name?

At the minute all my fixtures have the same name as the table that they are intended for, because of a recent issue with rails it doesn't seem possible to have a fixture beginning with the word 'test'

Does anyone know of a way to have a different fixture name and then map it to the correct table?

Thanks, Andy

0 投票
3 回答
22306 浏览

ruby-on-rails - Rails Fixtures 未使用 rspec 加载

因此,我正在尝试在 rails 项目的上下文中学习 rspec BDD 测试框架。我遇到的问题是,在我的一生中,我无法让我的灯具在 rspec 描述中正确加载。

免责声明:是的,有比使用固定装置更好的东西。我试图一次学习一件事,在这里(特别是 rspec),然后我去使用相关工具,如 factory-girl、mocha、auto-test 等。因此,我试图变得非常简单,如果笨重,固定装置工作。

无论如何,这是代码:

/test/fixtures/users.yml -

/spec/controllers/pages_controller_spec.rb -

当我运行“rake spec”时,我得到的是:

也就是说,它没有将 'user(:foo)' 识别为有效方法。

固定装置本身必须没问题,因为当我通过“rake db:fixtures:load”将它们加载到开发数据库中时,我可以验证该数据库中是否存在 foo 和 bar。

我觉得我在这里遗漏了一些明显的东西,但我整天都在扯头发,但无济于事。任何帮助,将不胜感激。

0 投票
10 回答
15356 浏览

ruby-on-rails - 在具有唯一约束的关联中使用 Rails 中的 factory_girl。得到重复的错误

我正在使用 Rails 2.2 项目来更新它。我正在用工厂替换现有的固定装置(使用 factory_girl)并且遇到了一些问题。问题在于表示具有查找数据的表的模型。当我使用具有相同产品类型的两种产品创建购物车时,每个创建的产品都在重新创建相同的产品类型。此错误来自对 ProductType 模型的唯一验证。

问题演示

这是来自一个单元测试,我在其中创建了一个购物车并将其拼凑在一起。我必须这样做才能解决问题。不过,这仍然说明了问题。我会解释的。

添加的两个产品类型相同,创建每个产品时都会重新创建产品类型并创建副本。

生成的错误是:“ActiveRecord::RecordInvalid:验证失败:名称已被采用,代码已被采用”

解决方法

此示例的解决方法是覆盖正在使用的产品类型并传入特定实例,因此仅使用一个实例。“add_product_type”被提前获取并为每个购物车项目传递。

问题

将 factory_girl 与“选择列表”类型的关联一起使用的最佳方式是什么?

我希望工厂定义包含所有内容,而不必在测试中组装它,尽管我可以忍受它。

背景和额外细节

工厂/product.rb

ProductType 的“代码”的目的是让应用程序可以赋予它们特殊的含义。ProductType 模型如下所示:

工厂/cart.rb

当我尝试使用相同产品类型的两个项目定义购物车时,我收到上述相同的错误。

0 投票
3 回答
2443 浏览

django - Django JSON 夹具生成

我是来自 Rails 的 Django 新手,我发现 Django 固定装置(最常见的是我收集的 JSON)有点尴尬和笨拙,至少与我熟悉的 rails 固定装置相比。我喜欢能够嵌入一些 ruby​​ 代码,例如 <%= Time.now %>,或者在将事物与外键关联时通过名称引用其他固定装置(以避免必须跟踪 id)。

那么问题来了,你如何更有经验 Django 开发人员构建你的设备。您是否坐下来手动编写 JSON/XML/YAML,或者是否有其他工具可以帮助类似于 rails 给我的帮助?还是在 ./manage.py shell 中创建一些数据并将该数据转储到夹具中最简单,而不是手动编写夹具?甚至,您是否发现自己在测试类的 setUp(self) 方法中放入了大量数据。一旦你有了更多的经验,也许用手把这些东西写出来就不那么乏味了?

0 投票
1 回答
901 浏览

django - django 设备中的翻译

这是示例 initial_data.json。我想让 django 将“名称”列中的值存储到翻译文件中。因此,稍后,当值在某处打印时,它可以使用其转换后的值。有什么办法吗?谢谢。

0 投票
4 回答
4724 浏览

ruby-on-rails - Ruby on Rails 和 db:fixtures:load - 它可以忽略某些模型吗?

我在 Ruby on Rails 应用程序中使用了两个数据库;一个是应用程序的数据库,而第二个是一个独立的数据库,Rails 没有对其进行控制。

问题是当将夹具加载到开发中时,它会尝试在独立数据库中的表上从与开发数据库的连接中运行 DELETE 语句,这显然会出错。

我不希望 Rails 尝试做任何事情,但要读取独立数据库 - 我特别不希望它尝试删除表。

有没有一种简单的方法来告诉 Rails 在加载夹具时忽略第二个数据库的模型?

更新:为了澄清,Rails 似乎认为独立数据库中的表是开发连接的一部分,尽管我已经在模型类中使用establish_connection. 另外需要注意的是,所有模型类都可以从script/console.

0 投票
4 回答
3036 浏览

django - 加载 django 测试的夹具

我想在我的测试中使用一些固定装置。

我有cms_sample应用程序和一个固定文件夹,里面有:cms_sample_data.xml

我在我的中使用以下内容test.py

我确实使用TestCasedjango.testsunittest使用.

但是没有加载固定装置。我错过了什么?

0 投票
1 回答
1142 浏览

ruby-on-rails - 测试不加载多对多夹具

我正在使用 Test 来测试我的应用程序。我有一些固定装置:users.yml、roles.yml、roles_users.yml。加载了用户和角色,但没有加载多对多表角色用户,因此用户与任何角色都不相关。在开发中使用 Rails 控制台一切正常,在测试中任何用户都没有连接到任何角色。我可以看到测试数据库中的用户和角色,但角色用户为空

我是否必须在某处指定如何加载此夹具?