【问题标题】:App engine Local Unit test different instances [GO]应用引擎本地单元测试不同的实例 [GO]
【发布时间】:2016-02-05 09:07:21
【问题描述】:

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

我正在寻找一种方法来设置 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

【问题讨论】:

  • 您是在谈论使用aetest 包进行测试吗?

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


【解决方案1】:

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

【讨论】:

  • 我试过但由于某种原因 req 总是 nil 这是我的 req r, err := inst.NewRequest("post", "api/cloud/v1/user", nil)
  • err的值是多少?
  • err 的值为 nil
  • 这是 r &{post api/cloud/v1/user HTTP/1.1 1 1 map[] 0 [] false map[] map[] map的值[] }
  • 您在上面说过“req 始终为 nil”,但 req 不是 nil。我真的不明白你遇到了什么问题。
猜你喜欢
  • 2016-09-08
  • 1970-01-01
  • 1970-01-01
  • 2020-02-02
  • 1970-01-01
  • 2013-08-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多