Actually, many people, including me. Generally speaking, since tests verify behavior, for some users it may seem a little unnatural to insert records into the database.
Question.new will suffice, because it goes through valid rail methods anyway, so many people tend to use them, also because they are faster.
But even if you start using factories, there will be times when you are likely to enter data into your test environment. I personally do not see anything wrong with that.
In general, in some situations, the test suite is really large, it can be quite profitable so as not to store records in the database. But if speed is not your main concern, I would say that you really do not have to worry about how the test looks if it is well designed and appropriate.
By the way, you do not need to destroy the test data, they are executed automatically after the test is completed. So, if you are not checking the actual removal methods, do not do this explicitly.
source share