可以在单元测试中使用Google App Engine Images ServiceFactory.getImagesService()吗?

时间:2012-01-01 06:45:32

标签: google-app-engine

我设法获取下面的代码段,以便在开发服务器中成功运行,将图片重新调整为300x300像素,作为网络请求的一部分。

但是,我似乎无法在单元测试中运行它们。

byte[] data = loadMyData();
OutputSettings format = new OutputSettings(ImagesService.OutputEncoding.JPEG);

Image resized = getImagesService().applyTransform(makeResize(300, 300, 0, 0), data, format);

上面的代码在单元测试中引发了这个异常:

java.lang.IllegalArgumentException: Failed to read image
    at com.google.appengine.api.images.ImagesServiceImpl.convertApplicationException(ImagesServiceImpl.java:333)
    at com.google.appengine.api.images.ImagesServiceImpl.applyTransform(ImagesServiceImpl.java:86)
    at com.google.appengine.api.images.ImagesServiceImpl.applyTransform(ImagesServiceImpl.java:63)

将“LocalImagesServiceTestConfig”添加到LocalServiceTestHelper没有任何区别。

希望有人可以确认我们是否可以实际使用getImagesService()在(Java)单元测试中调整图像大小。

1 个答案:

答案 0 :(得分:0)

我可能在这里遗漏了一些东西,但你不能仅仅使用get_serving_url来调整大小吗?它可用于Java imagesService.getServingUrl(blob) http://code.google.com/appengine/docs/java/javadoc/com/google/appengine/api/images/ImagesService.html#getServingUrl%28com.google.appengine.api.blobstore.BlobKey,%20int,%20boolean%29 问候, 尼古拉斯