# Tests: Can't use items(:fixture\_name) in setup method!

**URL:** <https://www.ruby-forum.com/t/tests-cant-use-items-fixture-name-in-setup-method/92993>\
**Category:** Rails\
**Created:** [April 26, 2007, 12:31pm UTC](https://www.ruby-forum.com/t/tests-cant-use-items-fixture-name-in-setup-method/92993 "2007-04-26T12:31:11Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![josh](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/45deac/32.png) [@josh](https://www.ruby-forum.com/u/josh)\
**Post date:** [April 26, 2007, 12:31pm UTC](https://www.ruby-forum.com/t/tests-cant-use-items-fixture-name-in-setup-method/92993/1 "2007-04-26T12:31:11Z")

</div>

Hi all

I don’t know what happened, but since some time I can’t run my tests  
anymore because I’m getting the following error:

chraftbuech:~/Webwork/pgbookings josh$ ruby  
test/functional/admin/music\_labels\_  
controller\_test.rb  
Loaded suite test/functional/admin/music\_labels\_controller\_test  
Started  
EEEEEEEE  
Finished in 0.156566 seconds.

1. Error:  
test\_create(Admin::MusicLabelsControllerTest):  
NoMethodError: You have a nil object when you didn’t expect it!  
You might have expected an instance of Array.  
The error occurred while evaluating nil.[]  
/usr/lib/ruby/gems/1.8/gems/activerecord-1.15.3/lib/active\_record/fixtures.rb:498:in  
`music_labels' /usr/lib/ruby/gems/1.8/gems/activerecord-1.15.3/lib/active_record/fixtures.rb:496:in`music\_labels’  
test/functional/admin/music\_labels\_controller\_test.rb:17:in `setup’  
…etc…

My setup method looks like that:

def setup  
@controller = Admin::MusicLabelsController.new  
@request = ActionController::TestRequest.new  
@response = ActionController::TestResponse.new

```
@bionics_records_id = music_labels(:bionics_records).id

```

end

I tracked the error down to the following line (line 17):

@bionics\_records\_id = music\_labels(:bionics\_records).id

It seems that music\_labels() does not return the corresponding object  
anymore! But in my fixtures everything seems ok:

music\_labels.yml:  
bionics\_records:  
id: 1  
name: Bionics Records  
origin\_country\_id: 4  
index\_records:  
id: 2  
name: Index Records  
origin\_country\_id: 1

Can anyone give me a hint what’s the problem? When replacing

@bionics\_records\_id = music\_labels(:bionics\_records).id

with

@bionics\_records\_id = 1

everything works again…

Thanks a lot  
Josh

---

<div class="post-metadata">

**Author:** ![josh](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/45deac/32.png) [@josh](https://www.ruby-forum.com/u/josh)\
**Post date:** [April 26, 2007, 1:23pm UTC](https://www.ruby-forum.com/t/tests-cant-use-items-fixture-name-in-setup-method/92993/2 "2007-04-26T13:23:53Z")

</div>

Did you remember to call “fixtures :music\_labels” ?

On Apr 26, 11:31 am, Joshua M. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)

---

<div class="post-metadata">

**Author:** ![josh](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/45deac/32.png) [@josh](https://www.ruby-forum.com/u/josh)\
**Post date:** [April 26, 2007, 1:29pm UTC](https://www.ruby-forum.com/t/tests-cant-use-items-fixture-name-in-setup-method/92993/3 "2007-04-26T13:29:43Z")

</div>

Jon wrote:

> Did you remember to call “fixtures :music\_labels” ?
> 
> On Apr 26, 11:31 am, Joshua M. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)

Yes, that’s not the problem.
