英文:
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.
}
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论