如何在FactoryGirl中为Ruby on Rails生成随机浮点数?
- 内容介绍
- 文章标签
- 相关推荐
本文共计282个文字,预计阅读时间需要2分钟。
为了在FactoryGirl中生成随机的浮点数,我们可以使用`Faker`库中的`Faker::Number`类。以下是一个简单的例子,展示如何在FactoryGirl中为位置生成随机的纬度值:
rubyFactoryBot.define do factory :location do lat { Faker::Number.between(from: -90.0, to: 90.0).round(5) } long { Faker::Number.between(from: -180.0, to: 180.0).round(5) } endend
这段代码定义了一个`location`工厂,它会为每个实例随机生成一个纬度值(`lat`)和经度值(`long`)。使用`Faker::Number.between`方法可以生成指定范围内的随机浮点数,并通过`round`方法指定小数点后保留的位数。这样,我们就能生成不重复的随机浮点数,同时避免了使用`Random`类可能带来的重复值问题。
我需要在我的工厂中生成随机纬度和经度值以进行测试,但使用Random类会给出重复值并使我的测试失败,如何在FactoryGirl中生成随机浮点值?编辑:相关的一段代码
factory :location do lat rand(-90.0..90.0) lng rand(-180.0..180.0) end 使用 faker宝石.
factory :address do latitude { Faker::Address.latitude } longitude { Faker::Address.longitude } end
本文共计282个文字,预计阅读时间需要2分钟。
为了在FactoryGirl中生成随机的浮点数,我们可以使用`Faker`库中的`Faker::Number`类。以下是一个简单的例子,展示如何在FactoryGirl中为位置生成随机的纬度值:
rubyFactoryBot.define do factory :location do lat { Faker::Number.between(from: -90.0, to: 90.0).round(5) } long { Faker::Number.between(from: -180.0, to: 180.0).round(5) } endend
这段代码定义了一个`location`工厂,它会为每个实例随机生成一个纬度值(`lat`)和经度值(`long`)。使用`Faker::Number.between`方法可以生成指定范围内的随机浮点数,并通过`round`方法指定小数点后保留的位数。这样,我们就能生成不重复的随机浮点数,同时避免了使用`Random`类可能带来的重复值问题。
我需要在我的工厂中生成随机纬度和经度值以进行测试,但使用Random类会给出重复值并使我的测试失败,如何在FactoryGirl中生成随机浮点值?编辑:相关的一段代码
factory :location do lat rand(-90.0..90.0) lng rand(-180.0..180.0) end 使用 faker宝石.
factory :address do latitude { Faker::Address.latitude } longitude { Faker::Address.longitude } end

