2012-04-05 28 views
0

奇怪的事情发生在这里。当运行任何单元测试调用:单元测试非法blobKey错误谷歌应用程序引擎1.6.4

FileService fileService = FileServiceFactory.getFileService(); 
writeChannel = fileService.openWriteChannel(file, lock); 
writeChannel.closeFinally(); 

我得到以下例外 - 该代码运行正常单元测试之外,在其他工作站 - 所以这是在Windows XP的笔记本电脑的环境问题,我被迫使用。测试运行在我的其他电脑和笔记本电脑精(运行Ubuntu)

java.lang.RuntimeException: illegal blobKey: pIONuF92LGIK8TV41YSSdQ 
    at com.google.appengine.api.blobstore.dev.FileBlobStorage.getFileForBlob(FileBlobStorage.java:95) 
    at com.google.appengine.api.blobstore.dev.FileBlobStorage.storeBlob(FileBlobStorage.java:45) 
    at com.google.appengine.api.files.dev.BlobstoreFile.getOutputStream(BlobstoreFile.java:225) 
    at com.google.appengine.api.files.dev.FileMetadata.setFinalized(FileMetadata.java:97) 
    at com.google.appengine.api.files.dev.BlobstoreFile.setFinalized(BlobstoreFile.java:212) 
    at com.google.appengine.api.files.dev.LocalFileService.close(LocalFileService.java:334) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
    at com.google.appengine.tools.development.ApiProxyLocalImpl$AsyncApiCall.callInternal(ApiProxyLocalImpl.java:498) 
    at com.google.appengine.tools.development.ApiProxyLocalImpl$AsyncApiCall.call(ApiProxyLocalImpl.java:452) 
    at com.google.appengine.tools.development.ApiProxyLocalImpl$AsyncApiCall.call(ApiProxyLocalImpl.java:430) 
    at java.util.concurrent.Executors$PrivilegedCallable$1.run(Unknown Source) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.util.concurrent.Executors$PrivilegedCallable.call(Unknown Source) 
    at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source) 
    at java.util.concurrent.FutureTask.run(Unknown Source) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 
    at java.lang.Thread.run(Unknown Source) 
+0

我刚刚确认工作站与错误的区别。我正在使用谷歌应用程序引擎1.6.4的SDK - 其他的基石1.6.3.1。这是1.6.4我会报告的错误。 – bsautner 2012-04-05 14:45:11

+0

报告的错误:http://code.google.com/p/googleappengine/issues/detail?id = 7291 – bsautner 2012-04-05 14:50:50

回答

3

您可以通过添加一个LocalBlobstoreServiceTestConfig()到您的LocalServiceTestHelper设置避免这种情况。我将它添加到失败的测试类后才开始工作。

我不确定这是否确实是一个错误。我认为这个bug是在SDK未提供适当的测试设置配置的情况下提供本地blobstore仿真时发生的。

+0

同意:http://code.google.com/p/googleappengine/issues/detail?id=7291 – bsautner 2012-04-23 12:32:55

相关问题