On 11/29/2011 12:34 PM, Piotr Zalewa wrote: > I use all solutions, depending on the needs. > > When I'm testing a usage of many objects I use fixtures (also with users > as I'm "pretending" that users created them) > > When there is a test involving a user I create this object, either in > test or the setUp. > > On 11/28/11 01:58, Gelonida N wrote: >> Hi, >> >> I'd like to run some django tests, which use the test client and which >> should check, that certain users can only access certain contents. >> >> Where would you create this users / passwords. >> - With a fixture >> - as part of a test class in the SetUp section and tear >> it down afterwards? > > There is no need to remove them > Just create a user in setUp if you need it for all tests, if for a part > of the tests only - create 2 test classes and create a user in one of > them only
Thanks. Yes I noticed meanhwile as well that the the database is reset implicitely. > >> - create a custom test runner with a setup phase ? > > I've got it as well - I don't create users there, but I've got a few > other methods which are useful for more than one app. > I mightl look at something like this. If you midofied the database there, then would this become the initial state for each test? Reading the doc I assume yes. >> Is there any other recommended code section, which could do the setup >> prior to running tests. >> >> Ideally I'd like to avoid fixtures. > > Is there a reason? > Two reasons: Migrations: ------------ Fixtures are rather sensitive to migrations (so as part of the migration steps I had to regenerate them) Lack pseudo randomness: -------------------------- It's a question of taste, but I like a certain amount of controlled randomness in my tests and data sets. (The idea is to log the random seed in order to be able to reproduce failures) So a test covers all the anticipated boundary cases (if the amount is small enough) , but explores some others as well. As soon a s a new killer data set is found it can be added as a separate test (or fixture). -- You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-users@googlegroups.com. To unsubscribe from this group, send email to django-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/django-users?hl=en.