我正在编写一些单元测试,以涵盖一些从GCS(Google云存储)上传和读取文件。单元测试与云存储
但很显然,这些文件没有存储在本地,但上传的,因为我得到以下错误:
<?xml version='1.0' encoding='UTF-8'?><Error><Code>AuthenticationRequired</Code><Message>Authentication required.</Message></Error>
at com.google.appengine.tools.cloudstorage.RetryHelper.doRetry(RetryHelper.java:120)
at com.google.appengine.tools.cloudstorage.RetryHelper.runWithRetries(RetryHelper.java:166)
at com.google.appengine.tools.cloudstorage.RetryHelper.runWithRetries(RetryHelper.java:156)
at com.google.appengine.tools.cloudstorage.GcsServiceImpl.createOrReplace(GcsServiceImpl.java:70)
单元测试看起来是这样的:
private final LocalServiceTestHelper helper = new LocalServiceTestHelper(
new LocalDatastoreServiceTestConfig().setDefaultHighRepJobPolicyUnappliedJobPercentage(1).setNoStorage(true),
new LocalCapabilitiesServiceTestConfig(),
new LocalBlobstoreServiceTestConfig(),
new LocalImagesServiceTestConfig()
);
@Before
public void setUp() {
helper.setUp();
}
@After
public void tearDown() {
helper.tearDown();
}
@Test
public void someTest() { ... }
什么是正确的方法在单元测试中本地运行GCS?
还没有尝试过这些测试,但发现如果我运行maven测试他们的工作。如果我在Idea中运行它们,它会因给定的错误而失败。 – Drejc 2014-09-10 11:34:02