App引擎本地单元测试不同的实例[GO]

时间:2015-11-04 18:19:04

标签: unit-testing google-app-engine go

我在测试单独的方法时遇到问题,每个测试用例都在不同的实例和地址上运行。

我正在寻找一种设置API地址的方法,以便在同一API服务器上执行测试。

我认为这个警告是问题的一部分。

WARNING  2015-11-04 18:15:25,003 devappserver2.py:779] DEFAULT_VERSION_HOSTNAME will not be set correctly with --port=0

此命令将设置API服务器,但我不能对测试...

执行相同的操作
dev_appserver.py .  --api_port 55555

1 个答案:

答案 0 :(得分:2)

使用aetest.NewInstance,您可以确保所有单元测试共享一个实例:

var inst aetest.Instance

func TestMain(m *testing.M) {
   var err error
   inst, err = aetest.NewInstance(nil)
   if err != nil {
       log.Fatalf("aetest.NewInstance: %v", err)
   }

   e := m.Run()
   inst.Close()
   os.Exit(e)
}

func TestMyTest(t *testing.T) {
   req, err := inst.NewRequest("GET", "/foo/bar", nil)
   // etc.
}