问题标签 [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 投票
2 回答
4350 浏览

ruby-on-rails - 夹具会触发模型回调吗?

假设我有一个 User 模型,在 User.rb 中有以下代码:

而且我还有一个 users.yml 文件,其中定义了一堆用户装置。

当我运行 rake db:fixtures:load 时,它似乎不会触发回调。

  1. 这是预期的工作方式吗?如果是这样,他们为什么要这样设计?
  2. 有没有办法在加载夹具时强制触发回调?
0 投票
2 回答
662 浏览

ruby-on-rails - Foreign keys in fixtures in rails 2.0

I'm having problems with my fixtures in Rails.

I have two models, a message and a user. The user model is generated from restful authentication. A message has a sender and a recipient, which are both users.

When I don't use the fixtures everything works fine. But when I try to use them in fixtures both are nil.

This is the messages fixtures file:

quentin and aaron are the user fixtures which were generated by restful authentication.

Is there a way I can use the generated ids there or do I have to do it another way?

0 投票
5 回答
11127 浏览

unit-testing - 单元测试:在设置方法中有断言是一种好习惯吗?

在单元测试中,setup 方法用于创建测试所需的对象。

在这些设置方法中,我喜欢使用断言:我知道我想在这些对象中看到什么值,并且我喜欢通过断言记录这些知识。

在最近一篇关于单元测试在 stackoverflow 上调用其他单元测试的帖子中,总体感觉似乎是单元测试不应该调用其他测试:这个问题的答案似乎是你应该重构你的设置,以便测试用例不互相依赖。

但是“setup-with-asserts”和调用其他单元测试的单元测试没有太大区别。

因此我的问题是:在设置方法中有断言是一种好习惯吗?

编辑:

答案是:这通常不是一个好习惯。如果设置结果需要测试,建议单独添加一个带有断言的测试方法(答案我勾选了);要记录意图,请考虑使用 Java 断言。

0 投票
1 回答
5464 浏览

django - django 灯具:在哪里添加灯具文件

我正在尝试创建一组测试用例来涵盖我的 django 应用程序。我需要预定义的数据库数据来运行我的一些测试。所以我决定使用固定装置。

我所做的是: 1)创建夹具文件:oleg$ python manage.py dumpdata goserver > fixture1.json 2)将夹具放在应用程序所在的目录中 oleg$ cp fixture1.json goserver/ 3)在中写下纹理名称我的应用程序中的测试文件

4) 使用命令运行文本案例:oleg$ python manage.py test --verbosity=2 goserver

测试运行的输出是(部分):

正在为 xml 夹具“initial_data”尝试“/Users/oleg/jin/goclub/trunk/jin/../jin/register/fixtures”...在“/Users/oleg/jin/goclub/”中没有 xml 夹具“initial_data”主干/jin/../jin/register/fixtures'。尝试 '/Users/oleg/jin/goclub/trunk/jin/../jin/register/fixtures' 为 json 夹具 'initial_data' ... '/Users/oleg/jin/goclub/ 中没有 json 夹具 'initial_data'主干/jin/../jin/register/fixtures'。正在检查 '/Users/oleg/jin/goclub/trunk/jin/../jin/captcha/fixtures' 的固定装置...尝试 '/Users/oleg/jin/goclub/trunk/jin/../jin/captcha /fixtures' 用于 xml 夹具“initial_data”...“/Users/oleg/jin/goclub/trunk/jin/../jin/captcha/fixtures”中没有 xml 夹具“initial_data”。尝试'/Users/oleg/jin/goclub/trunk/jin/.. /jin/captcha/fixtures' 用于 json 夹具“initial_data”...“/Users/oleg/jin/goclub/trunk/jin/../jin/captcha/fixtures”中没有 json 夹具“initial_data”。正在检查 '/Users/oleg/jin/goclub/trunk/jin/../jin/goserver/fixtures' 的夹具...尝试 '/Users/oleg/jin/goclub/trunk/jin/../jin/goserver /fixtures 用于 xml 夹具“initial_data”...“/Users/oleg/jin/goclub/trunk/jin/../jin/goserver/fixtures”中没有 xml 夹具“initial_data”。尝试 '/Users/oleg/jin/goclub/trunk/jin/../jin/goserver/fixtures' 为 json 夹具 'initial_data'... 没有 json 夹具 'initial_data' 在 '/Users/oleg/jin/goclub/主干/jin/../jin/goserver/fixtures'。检查 '/' 的夹具... 尝试 '/' 的 xml 夹具 'initial_data'... “/”中没有 xml 夹具“initial_data”。为 json 夹具“initial_data”尝试“/”...“/”中没有 json 夹具“initial_data”。正在检查“U”中的固定装置...正在尝试“U”用于 xml 固定装置“initial_data”...“U”中没有 xml 固定装置“initial_data”。为 json 夹具“initial_data”尝试“U”...“U”中没有 json 夹具“initial_data”。正在检查 's' 的夹具... 正在尝试 's' 的 xml 夹具 'initial_data' ... 's' 中没有 xml 夹具 'initial_data'。为 json 夹具 'initial_data' 尝试 's'.. 正在检查“U”中的固定装置...正在尝试“U”用于 xml 固定装置“initial_data”...“U”中没有 xml 固定装置“initial_data”。为 json 夹具“initial_data”尝试“U”...“U”中没有 json 夹具“initial_data”。正在检查 's' 的夹具... 正在尝试 's' 的 xml 夹具 'initial_data' ... 's' 中没有 xml 夹具 'initial_data'。为 json 夹具 'initial_data' 尝试 's'.. 正在检查“U”中的固定装置...正在尝试“U”用于 xml 固定装置“initial_data”...“U”中没有 xml 固定装置“initial_data”。为 json 夹具“initial_data”尝试“U”...“U”中没有 json 夹具“initial_data”。正在检查 's' 的夹具... 正在尝试 's' 的 xml 夹具 'initial_data' ... 's' 中没有 xml 夹具 'initial_data'。为 json 夹具 'initial_data' 尝试 's'.. 对于 xml 夹具“initial_data”...“s”中没有 xml 夹具“initial_data”。为 json 夹具 'initial_data' 尝试 's'.. 对于 xml 夹具“initial_data”...“s”中没有 xml 夹具“initial_data”。为 json 夹具 'initial_data' 尝试 's'..

实际上问题是根本没有找到夹具,所以没有添加我想添加到测试数据库中的数据。你能建议我解决问题的方法吗

我尝试了一种新的方法来做到这一点。我只是做了一个完整数据库的转储并将其放入应用程序文件夹。

但我遇到了一些编码问题。

您能否检查错误响应:

文件“build/bdist.macosx-10.3-i386/egg/MySQLdb/cursors.py”,第 168 行,执行 if not self._defer_warnings: self._warning_check() 文件“build/bdist.macosx-10.3-i386/egg” /MySQLdb/cursors.py”,第 82 行,在 _warning_check 中警告(w[-1],self.Warning,3)文件“/opt/local/lib/python2.5/warnings.py”,第 62 行,在警告中globals)文件“/opt/local/lib/python2.5/warnings.py”,第 102 行,在 warn_explicit 引发消息警告:不正确的字符串值:'\xD0\x9D\xD0\xB0 \xD0...' 列第 1 行的“object_repr”

testUserIsAdded (jin.goserver.tests.GoserverTestCase) ... 用户 []

还有一个问题。当我禁用固定装置时,我仍然收到错误:

单元测试代码覆盖率结果

回溯(最近一次调用):文件“manage.py”,第 11 行,在 execute_manager(settings) 文件“/opt/local/lib/python2.5/site-packages/Django-1.0.2_final-py2.5. egg/django/core/management/ init .py”,第 340 行,在 execute_manager utility.execute() 文件“/opt/local/lib/python2.5/site-packages/Django-1.0.2_final-py2.5. egg/django/core/management/ init .py”,第 295 行,在执行 self.fetch_command(subcommand).run_from_argv(self.argv) 文件“/opt/local/lib/python2.5/site-packages/Django- 1.0.2_final-py2.5.egg/django/core/management/base.py",第 192 行,在 run_from_argv self.execute(*args, ** options.dict) 文件“/opt/local/lib/python2.5/site-packages/Django-1.0.2_final-py2.5.egg/django/core/management/base.py”,第 219 行,执行输出 = self。句柄(*args,**options)文件“/opt/local/lib/python2.5/site-packages/Django-1.0.2_final-py2.5.egg/django/core/management/commands/test.py” ,第 33 行,在处理失败 = test_runner(test_labels, verbosity=verbosity, interactive=interactive) 文件“/opt/local/lib/python2.5/site-packages/django_test_coverage-0.1-py2.5.egg/django-test -coverage/runner.py”,第 58 行,run_tests modules.extend(_package_modules(*pkg)) 文件“/opt/local/lib/python2.5/site-packages/django_test_coverage-0.1-py2.5.egg/ django-test-coverage/runner.py”,第 92 行,在 _package_modules modules.append(导入(impstr + '.' + name, {}, {}, [''])) 文件“/Users/oleg/jin/goclub/trunk/jin/goserver/admin.py”,第 11 行,在 admin.site .register(ActiveList, ActiveListAdmin) 文件“/opt/local/lib/python2.5/site-packages/Django-1.0.2_final-py2.5.egg/django/contrib/admin/sites.py”,第 64 行, in register raise AlreadyRegistered('The model %s is already registered' % model.name ) django.contrib.admin.sites.AlreadyRegistered: 模型 ActiveList 已经注册

0 投票
2 回答
421 浏览

ruby-on-rails - Rails为夹具创建批处理对象?

我有一个带有 has_many :through 关系的大记录列表(大约 20 个,可能更多),这有点复杂,在 yml 上看起来很难看。Factory_girl 似乎并没有给我简单的能力来使用基于 AR 的脚本创建夹具(这样会短很多)关于我能做什么的任何好的建议?

0 投票
2 回答
1141 浏览

ruby-on-rails - 如何在 Rails 的测试中使夹具可更新?

下面我列出了一些来自简单 Rails 应用程序的代码。下面列出的测试在最后一行失败,因为在此测试中 PostController 的更新操作中未更改帖子的updated_at字段。为什么?

这种行为在我看来有点奇怪,因为 Post 模型中包含标准时间戳,本地服务器上的实时测试表明该字段实际上是在从更新操作返回后更新的,并且第一个断言得到满足,因此它表明更新操作正常。

我怎样才能使固定装置在上述含义中可更新?

0 投票
2 回答
394 浏览

ruby-on-rails - Ruby on rails:create_fixtures 内存问题

我必须创建大约 10 万条记录。这些记录在 csv 文件中,并且正在使用 create_fixtures 函数加载。在我的开发机器上它很慢,但它完成了。问题从生产开始,每个进程都有内存限制,这会导致终止 rake 进程。我认为这是因为 create_fixtures 正在将所有数据导入内存。有谁知道如何强制它导入较小的块(在我将一个大的 csv 切成几个较小的块之前)。

0 投票
3 回答
2434 浏览

ruby-on-rails - 在 Rails 中将灯具转换为 Factory Girl

我想将我的固定装置迁移到 Rails 中的“Factory Girl”。

有什么简单的方法可以转换 factory.rb 文件中的所有 yml 文件吗?

0 投票
2 回答
1314 浏览

ruby-on-rails - 在 Rails 中指定空或 nil 夹具

我有ff。我仅用于它生成的 ID 的 ActiveRecord:

我认为可以通过以下方式为其指定固定装置:

我在其他固定装置中将其称为:

但是当我运行测试时,我得到:

有谁知道如何指定空或零固定装置?如果这是不可能的,则可以接受变通方法或替代解决方案。

0 投票
1 回答
5249 浏览

django - Django 夹具未加载 loaddata

我创建了一个 json 固定装置,并将其放在我的 myapp/fixtures/ 中。我已将 myapp/fixtures 添加到 settings.FIXTURE_DIRS。这是我尝试加载夹具的输出:

这是 default.json 中的内容: [ { "pk": 1, "model": "myapp.feature", "fields": { "default_feature": "0.25" } } ]

我在这里遗漏了一些明显的东西吗?我已经尝试将 FIXTURE_DIRS 作为固定装置和固定装置/相同的结果。

谢谢。