我想单元测试我的代码,而不依赖后端服务在我的谷歌应用程序引擎上运行并运行。什么是最好的方式来实现这一点,而不必创建我自己的实现像请求工厂等每个类。删除单元测试的依赖关系
这是我的代码。我在运行单元测试时已经攻击了Util
类以返回模拟MyRequestFactory
实例。这个模拟工厂然后返回MyRequest
的模拟实现。
这反过来具有创建,更新删除等方法的模拟实现。 问题是我有更多的实体,我需要做到这一点,并将结束与大量的模拟类。
有没有更简单的方法?你认为哪种模拟框架最适合?
MyRequestFactory requestFactory = Util.getRequestFactory(mContext,
MyRequestFactory.class);
final MyRequest request = requestFactory.myRequest();
BookProxy bookProxy = request.create(BookProxy.class);
bookProxy.setDescription(bookDescription.getText().toString());
bookProxy.setName(bookName.getText().toString());
Log.i(TAG, "Adding book" + bookProxy.toString());
Request<bookProxy> sendRequest = request.updateBook(bookProxy);
sendRequest.fire();
bookName.setText("");
bookDescription.setText("");
到目前为止你写了什么样的测试? – mikej
我使用Robolectric对我的Activity执行了一些非常基本的测试。例如测试,当我点击“添加书籍”按钮时,一本新书被发送到服务器并添加到数据库中。为了让我测试这个,我嘲笑了bookProxy类,它实现了一个只保留本地地图的实现,并从这个内部地图添加删除等,而不是调用App引擎服务。问题是创建模拟所涉及的工作远远多于其他所有工作。 – MayoMan