将 App Engine SDK 更新到 1.7.0 后,我们的一些单元测试开始失败。
在 SDK 1.6.x 中,我断言删除了一个 blob,如下所示:
try {
fileService.getBlobFile(blobKey);
Assert.fail("Blob not deleted: " + blobKey);
} catch (FileNotFoundException expected) {
// OK
}
在 SDK 1.7.0 getBlobFile() 不再抛出 FileNotFoundException。
我试图引发异常,但没有成功(没有抛出异常):
try {
AppEngineFile blobFile = fileService.getBlobFile(blobKey);
boolean readable = blobFile.isReadable();
FileReadChannel channel = fileService.openReadChannel(blobFile, false);
channel.position(1);
try {
channel.close();
} catch (Exception e) {
// Silent
}
Assert.fail("Blob not deleted: " + blobKey);
} catch (Exception expected) {
// OK
}
该 blob 应该被删除,但可以为它打开一个通道......
那么,有什么想法可以在单元测试中检查删除是否成功?