This isn't connected specifically to pylons, but I've been working on a module named "fixture" to test in ways like how you're talking about: to assert that a program interacts appropriately with its data model.
http://code.google.com/p/fixture/ unfortunately there aren't any docs online yet and the docstrings in the code are still a little sparse. However, it is a fairly simple idea: you define classes descending from fixture.DataSet to declare data ... then you use a Fixture instance that knows how to load that data. For example: from fixture import DataSet, Fixture class EmployeesData(DataSet): def data(self): return [('bob', dict(username='bob', password='bobs_pzwrd'))] from fixture.loader import SqlAlchemyLoader from yourmappers import Employees # just one way, putting in global scope db = Fixture(loader=SqlAlchemyLoader(env=globals())) @db.with_data(EmployeesData) def test_login(data): assert login(data.bob.username, "secret-password") ... that sort of glosses over how sqlalchemy mappers are discovered, how Fixture.Data instances are delivered to tests, and what-not. And this code may change because I think I will merge Fixture and Loader definitions into one. In other words, this is still highly experimental! FYI: I will be presenting on this module at pycon: http://farmdev.com/thoughts/3/you-vs-the-real-world-testing-with-fixtures-coming-soon-/ -Kumar On 1/29/07, Carlo Sogono <[EMAIL PROTECTED]> wrote: > > Stephen F. Steiner wrote: > > We just have the test harness only access the 'dummy' database. > > > > The test suite clears out the 'dummy' database, then fills it with known > > data (which we store in memory for quick compares). > > > > Then, we run the data sucking portion of the live code against the > > 'dummy' database. > > > > Compare to the stored data; they'd better match! > > > > None of that really has anything to do with Pylons specifically since > > the data sucking code only provides data for the front end. > > Ok, so on a more specific note, how people here manage their test > databases? How do you create a dummy/temporary database in fixture, > populate data, do tests, then cleanup? How do I do this with PostgreSQL? > There seems to be no doco on this whatsoever online... > > If someone teaches me, I'll make the doco myself for everyone else to use. > > Carlo > > > > > Testing the front end is another issue altogether. > > > > If I understand your situation, it should be pretty simple to say "For > > this data, we expect this front end output." > > > > If you make sure your test data includes data that will provoke any > > fixed bugs, to make sure they're fixed (and stay fixed!), you should be > > all set. > > > > S > > > > Stephen F. Steiner > > Integrated Development Corporation > > [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> > > www.integrateddevcorp.com <http://www.integrateddevcorp.com> > > (603)433-1232 > > > > > > > > > > > > > > > > > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "pylons-discuss" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/pylons-discuss?hl=en -~----------~----~----~----~------~----~------~--~---
