过去几天我一直在努力编写一些测试来检查某些类的反序列化代码是否正常工作。
我有一个REST服务类的java包,通过Retrofit与我们的API通信。我的想法是使用Robolectric FakeHttpLayer提供某些响应,并编写一组测试,检查我的服务类是否有效地从JSON响应中创建了Model对象。
谢谢!
答案 0 :(得分:4)
单独测试这些!
应使用您选择的序列化机制直接测试序列化。
例如,如果您使用的是JSON和Gson,请使用反序列化的JSON字符串并验证结果。
基于网络响应的行为可以通过使用您在测试中使用的Retrofit接口的虚假实现来测试,而不是调用RestAdapter.create
。
class FakeFoo implements Foo { // Foo is your Retrofit interface
@Override public FooResponse doSomething(FooRequest request) {
return new FooResponse("Fake", "Data");
}
}