App Engine 本地单元测试不同实例 [GO]

huangapple go评论81阅读模式
英文:

App engine Local Unit test different instances [GO]

问题

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

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

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

警告 2015-11-04 18:15:25,003 devappserver2.py:779] 使用--port=0将无法正确设置DEFAULT_VERSION_HOSTNAME

这个命令可以设置API服务器,但我无法对测试做同样的操作...

dev_appserver.py . --api_port 55555
英文:

I have an issue with testing separate methods, each test case is running on a different instance and address.

I'm looking for a way to set up the API address in order to preform the tests on the same API server.

I assuming that this warning is part of the issue.

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

This command will set the API server but I can't do the same for test...

dev_appserver.py .  --api_port 55555

答案1

得分: 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.
}
英文:

Using aetest.NewInstance you can make sure that all your unit tests share a single instance:

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.
}

huangapple
  • 本文由 发表于 2015年11月5日 02:19:03
  • 转载请务必保留本文链接:https://go.coder-hub.com/33529183.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定