mardi 3 mars 2015

How to speed up Google App Engine Go unit tests?

I am currently writing a lot of unit tests for my package that runs on GAE Go. The package in question is focused on data saving and loading to and from appengine/datastore. As such, I have about 20 unit test files that look a bit like this:



package Data

import (
"appengine"
"appengine/aetest"
. "gopkg.in/check.v1"
"testing"
)

func TestUsers(t *testing.T) { TestingT(t) }

type UsersSuite struct{}

var _ = Suite(&UsersSuite{})

const UserID string = "UserID"


func (s *UsersSuite) TestSaveLoad(cc *C) {
c, err := aetest.NewContext(nil)
cc.Assert(err, IsNil)
defer c.Close()
...


As a result, each individual test file appears to be starting its own version of devappserver:


enter image description here


Repeat this 20 times and my unit tests run for over 10 minutes.


I am wondering, how can I speed up the execution of my testing suite? Should I have just one file that creates aetest.NewContext and passes that onwards, or is it due to me using separate Suites for each unit test? How can I speed this thing up?


Aucun commentaire:

Enregistrer un commentaire