ruby-on-rails - 未在 Rails 测试控制台中加载夹具
问题描述
我开始为新的 Rails 6 应用程序编写测试,并试图加载固定装置。这是针对用户模型的,我编写了自己的(从头开始验证)身份验证。以下是相关文件:
../test/fixtures/users.yml
one:
email: MyString
password_digest: "test"
first_name: "John"
last_name: "Smith"
模型/用户.rb
class User < ApplicationRecord
before_create { generate_token(:auth_token) }
has_secure_password
#validations section
validates :first_name, :last_name, presence: true
validates :email, presence: true, uniqueness: true
我可以毫无错误地运行rails db:fixtures:load
,但是当我在测试环境中加载控制台时,我得到:
rails c -e test
Running via Spring preloader in process 15677
Loading test environment (Rails 6.1.3.1)
:001 > User.all
(0.5ms) SELECT sqlite_version(*)
User Load (0.2ms) SELECT "users".* FROM "users" /* loading for inspect */ LIMIT ? [["LIMIT", 11]]
=> #<ActiveRecord::Relation []>
我错过了什么?
解决方案
我上面的夹具很好,我只需要先将夹具加载到测试数据库中rails db:fixtures:load RAILS_ENV=test
推荐阅读
- ios - 为 iOS 生成项目文件
- tfs - TFS VS 2017 中的报告
- css - 根据背景图像容器切断图像顶部
- javascript - 对象的属性根据调用方式返回不同的值
- dji-sdk - 通过 DJI SDK 等效的睡眠模式或低功耗模式?
- python - 如何手动处理上传的文件数据?
- git - 对于 github 和 gitlab 的所有服务,Git 命令行 (git bash) 是否相同,或者命令有什么不同?
- heroku - scrapyRT 可以使用 gunicorn 在 Heroku 上并行运行吗?
- android - 为什么从 constraint-layout-1.0.2 切换到 1.1.3 会破坏我的自定义工具栏?
- excel - 是否有带有 LOOP 计算的 Excel 工作表功能?