test_database requires explicit list of models
As a temporary workaround, I was able to do the following;

``` py
import unittest
import inspect
import models
import peewee
from app import testdb
from playhouse.test_utils import test_database

class PeeweeTestDatabaseMixin(object):
    def run(self, *args, **kwargs):
        classes = [ v for k,v in inspect.getmembers(models, inspect.isclass) 
            if issubclass(v, peewee.Model) ]
        test_database(testdb, classes)
        return super(PeeweeTestDatabaseMixin, self).run(*args, **kwargs)
```
 I prefer keeping things explicit as it is easier to understand and the implementation is simpler.

If you wish to use `test_database`, you have to give it an explicit list of models, as seen [here](1). This can lead to some surprising behaviour if you create a model class and forget to add it to the list.

One way around this, as seen [here](2), is to use module inspection to auto detect classes without having to explicitly define them. Now this may not be a suitable option for everyone, for example if your models are split across multiple databases.

My original proposal was to add module inspection into `test_database()`, however further testing of #583 has shown this is not feasible. Realistically there isn't much that can be done to improve this unless #583 is accepted, so I'm going to mark as closed.
