ruby-on-rails - Rails 测试单元 : How to find an unused id for a model

标签 ruby-on-rails testing

当使用外键测试模型时,我想断言模型不能用不存在的外键保存。

用于测试的示例类:

class Wheel
    belongs_to: car
end

所以,单元测试应该是这样的:

def test "a wheel must belong to an existent car"
    @wheel = Wheel.new
    @wheel.car_id = INEXISTENT_CAR_ID
    assert !@wheel.save
end

找到有效的 INEXISTENT_CAR_ID 的最佳方法是什么(已知灯具加载了随机 ID)?

最佳答案

我喜欢 Chowlett 的方法。但是它失败了,如果根本没有记录,那么你可能想写

@wheel.car_id = Car.order("id").last.try(:id).to_i + 1

关于ruby-on-rails - Rails 测试单元 : How to find an unused id for a model,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7404804/

相关文章:

ruby-on-rails - 如何允许数组具有强参数

java - 使用 pageRequest 测试 spring 存储库

mysql - 通过 bundle (Gemfile) on rails 安装 mysql2 -v '0.3.19'

ruby-on-rails - 如何在 Rails 5.0 的 ActiveAdmin 的列中添加多个操作?

javascript - 部署到多个 subURI 时使用 Rails 的 jQuery

javascript - browser.explorer() 与在 Protractor 中调试的旧方法

javascript - 使用 Jest 测试 node-cron 作业功能

testing - Karate 聆听者支持

node.js - 使用 server.inject 错误捕获的 hapijs 测试

ruby-on-rails - Rails 缓存问题?