2012-01-01 87 views
0

我设法让下面的代码片段在开发服务器中成功运行,将图像重新调整为300x300像素作为Web请求的一部分。Google App Engine的ImagesServiceFactory.getImagesService()可用于单元测试吗?

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

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)单元测试中的图像大小。

回答

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 问候, 尼克拉斯

+0

我的本意是通过一个单独的任务上传调整后的图像到Amazon S3。想法是将调整大小的字节存储在blobstore中作为temp。 – kctang 2012-01-02 01:39:07

相关问题