お世話になります。
railsのrspecのテストで、ランダム値をseedで固定しているのですが
ローカル環境とGithubActionsでランダム処理で返ってくる値が異なります。
(ローカル環境ではtest2が返るがgithub actionsでは他の値が返る)
別環境でも同じ値にする為にはどうすればよいでしょうか?
(そもそも何かを勘違いしているかもしれないですが)
github actionsで実行しているrspecのコマンド
bash
1bundle exec rspec spec --seed 1 --format documentation
rspec(部分的に抜き出してます):
ruby
1 describe 'ランダムのテスト' do 2 context 'ランダム(seedを指定する為返り値は固定(rspec spec --seed 1))' do 3 before do 4 create(:task, name: 'test1') 5 create(:task, name: 'test2') 6 create(:task, name: 'test3') 7 end 8 9 example 'rspec spec --seed 1で実行すると「test2」が返ってくる' do 10 subject = described_class.new 11 expect(subject.random_task.name).to eq "test2" 12 end 13 end 14 end
実処理:
def random_task Task.enabled.offset(rand(Task.enabled.count)).first end
あなたの回答
tips
プレビュー