[openstack-dev] Why no test DB ?
Adam Young
ayoung at redhat.com
Mon Dec 10 18:49:12 UTC 2012
On 12/10/2012 01:04 PM, Sean Dague wrote:
> On 12/10/2012 11:58 AM, Adam Young wrote:
>> On 12/10/2012 11:36 AM, Kevin L. Mitchell wrote:
>>> On Mon, 2012-12-10 at 09:59 +1000, Matthew Sherborne wrote:
>>>> Why don't we create and destroy a test sqlite in memory database for
>>>> the tests instead of stubbing out the DB calls ?
>>> Stubbing out the DB calls makes perfect sense for the unit tests, which
>>> honestly should be (but isn't) the bulk of our test suite. Using an
>>> in-memory database is exactly what should be happening for the function
>>> tests, and Monty's comment indicates that it is…
>>>
>> A quibble: We do the sqlite in memory thing for most unit tests in
>> Keystone. I see it as our Mock DB implementation, and it provides a
>> better unit test than reimplementing a halfway set of sql mock objects.
>
> Given the complexity of the nova db, and the number of migrations that
> build up (50+ in Essex -> Grizzly) there are performance implications
> to keep doing that over and over again for all the unit tests,
> especially the ones that are separated enough from the database that
> their code should be tested in isolation.
Fair enough, and it doesn't have to be all-or-nothing. We actually now
have some unit tests for the Database migrations themselves.
It might make sense, though, to capture the end state of the database
migrations in a sql dump to be used for the unit tests.
>
> -Sean
>
More information about the OpenStack-dev
mailing list