Commenting out default generated fixtures

Hello all,

A newly created fixture file by Rails generators contains some fixtures by default with keys ‘one’ and ‘two’.

If I add any null constraint on some column in that table and try to run tests then it fails. Because Rails tries

to insert records with null values on columns having not-null constraint.

What do you think about adding the fixtures through generators but commenting them. So when I actually want

to use those fixtures, I will go into fixtures file and uncomment the existing ones or add new ones.

Right now it becomes a little painful to see build failing just because of those fixtures.

Thanks.

Not sure what question you are asking, but to comment them out just put # at the front of each line.

Anyway you are writing things the wrong way round, you should add or amend the tests to check the constraint functions as expected (which will cause the test to fail as the constraint has not been added yet) then add the constraint so that the tests work again.

Colin

Hi Colin,

I was suggesting that can we comment them in the generators itself. So that they will be present but commented. Obviously when we want to write tests and use them, we have to go to that file and edit it. We have to do it in any case, whether they are commented or not.

Thanks.

Hey

The fixtures should satisfy not-null constraints if you specify everything through the generator.

If you manipulate the migration directly, your fixtures won’t be updated accordingly.

I got bitten by this in the past. Especially because the model generator does not generate concrete

test-cases making use of these fixtures. When you start writing your own you may end up with ActiveRecord::StatementInvalid errors

which can feel out of context.

I’d be fine with commenting out the fixtures when the model generator is used. Note that the scaffold generator does generate test-cases

which use the fixtures.

Cheers,

– Yves

Thanks Yves. Thats what happened when I found this. I has used model generator and updated the migration manually. I will go through the code and open a PR for model generator commenting out fixtures. Is it okey?

Thanks.

Yes, please explore possible solutions. Keep in mind that the workflow for scaffolds and possibly other generators that make use of the fixture data should not change.

Cheers,

— Yves