这里BarAction继承于BaseLoginAction,它默认实现了needLogin()和login()方法,这样BarAction本身不必关心登录逻辑了。当然更好的写法是“common”和“bar”这些测试数据从params中取,这样可以从测试用例层直接传递测试数据过来。接下来是BarTest的实现:

  测试类主要是对BarAction的调用,它可以向接口传递不同的参数,同时也可传递登录信息。asyncInvoke(action)完成了接口逻辑的调用及时间的等待,测试代码只需着重关注result并进行断言。

  三、总结

  异步接口的集成测试的侧重点在于Android手机端向服务器端发送的请求是否正确,以上测试Case的断言与后端数据其实是强耦合的,即后端bar这个账户的数据变化可能导致Case的fail,所以可以考虑引入hamcrest包,做一些匹配校验,主要测试正常和异常情况服务器返回的内容是否符合预期,比如上面后一个断言可以写成:assertEquals(resp.getResult() (), greaterThan(0));当然,服务器端接口的正确性正常情况下应该由服务器端的自动化Case来保证,这样才不至于前后端测试紧耦合在一起。