Seltsames passiert hier. Wenn jede Einheit Test ausgeführt wird, ruft:illegaler BlobKey-Fehler im Unit-Test Google App Engine 1.6.4
FileService fileService = FileServiceFactory.getFileService();
writeChannel = fileService.openWriteChannel(file, lock);
writeChannel.closeFinally();
i die folgende Ausnahme erhalten - der Code ausgeführt wird außerhalb des Unit-Tests und auf anderen Arbeitsplätzen in Ordnung - es ist also ein Thema Umwelt auf einem Windows XP Laptop ist gezwungen, den ich zu verwenden . Tests laufen auf meinem anderen PC und Laptops (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)
Ich habe gerade den Unterschied zwischen der Workstation mit dem Fehler bestätigt. Ich benutzte Google App Engine 1.6.4 SDK - die anderen Sill hatte 1.6.3.1. Dies ist ein Fehler in 1.6.4 Ich werde berichten. – bsautner
Fehler gemeldet: http: //code.google.com/p/googleappengine/issues/detail?id=7291 – bsautner