Forums

Articles
Create
cancel
Showing results for 
Search instead for 
Did you mean: 

Ruby tests failing in pipeline for inherited fixture sets.

Brett Mahnke
I'm New Here
I'm New Here
Those new to the Atlassian Community have posted less than three times. Give them a warm welcome!
April 3, 2019


# bitbucket inherited fixtures rails test
image: ruby:2.5

pipelines:
default:
- step:
caches:
- bundler
script: # Modify the commands below to build your repository.
- cd $BITBUCKET_CLONE_DIR
- apt-get update -qq && apt-get install -y build-essential libpq-dev nodejs ruby-dev libidn11 libidn11-dev yarn
- echo "bundle install"
- bundle install --path vender/bundle
- echo "migrate/seed/test"
- rake db:migrate RAILS_ENV=test
- rake test RAILS_ENV=test
services:
- postgres
- redis
definitions:
services:
redis:
image: redis
postgres:
image: postgres
environment:
POSTGRES_DB: $db_name
POSTGRES_USER: $db_user
POSTGRES_PASSWORD: $db_password
caches:
bundler: vendor/bundle

 Above is my pipeline file. 

 

When the pipeline runs after a commit to the master branch, any test that references a fixture, that deals with a model that extends a different model, they fail. 

Ex:

class SomeClass < ApplicationRecord

end



class SecondClass < SomeClass

end

So, any test that is trying to find a fixture set in via the active record helper in tests fails:

 

Example:

Here, I'm trying to make an instance variable named second, by trying to find a SecondClass record, named some_record. This will fail the find the record, and there will be an error thrown in the pipeline output.

second = second_classes(:some_record)

Why is this? Or, how can ensure my tests pass in the Bitbucket Pipeline? They all pass locally.

0 answers

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events