如何在Go中使用App Engine服务的代码运行单元测试?

时间:2011-10-22 09:57:21

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

我被告知对使用App Engine服务(如数据存储区或memcache)的代码运行单元测试的最佳解决方案是在子进程中运行开发服务器,但我不确定如何。有人成功运行过这种测试并可以共享解决方案吗?

App Engine SDK for Go使用Python dev_appserver; see this thread

3 个答案:

答案 0 :(得分:6)

你应该看看Josh Marsh的Google App Engine Go testing library

答案 1 :(得分:6)

一个有趣的开发,从使用服务存根的1.8.6开始,已通过"appengine/aetest"包集成到SDK中。 More info

答案 2 :(得分:1)

我知道提问者想要建立一个测试平台并且需要这样做,但我认为还有另一种方法值得一提。

除了使用测试平台进行GAE服务之外,Go的有趣特性也开辟了另一种可能性:编写应用程序以仅需要具有您使用的接口的对象(它们是官方API的子集)并模拟它们测试时出来这需要你进行某种程度的依赖注入,但无论如何这都是一个非常好的主意。

一旦编写了接口的接口,就可以使用像gomock这样的库来模拟它们。