Java 单元测试BlobstoreAPI

Java 单元测试BlobstoreAPI,java,google-app-engine,Java,Google App Engine,我正在尝试对一些使用Blobstore API的代码进行单元测试,但是我得到了这段代码的NullPointerException: @ContextConfiguration(locations = { "classpath:service/client-config.xml" }) @RunWith(SpringJUnit4ClassRunner.class) public class BlobstoreDaoTest { private final Local

我正在尝试对一些使用Blobstore API的代码进行单元测试,但是我得到了这段代码的
NullPointerException

@ContextConfiguration(locations = { "classpath:service/client-config.xml" })
    @RunWith(SpringJUnit4ClassRunner.class)
    public class BlobstoreDaoTest {
        private final LocalServiceTestHelper helper =
                new LocalServiceTestHelper(new LocalDatastoreServiceTestConfig());
        private final LocalBlobstoreServiceTestConfig  config = 
                new LocalBlobstoreServiceTestConfig();

        @Autowired
        private BlobstoreDao dao;

        @Before
        public void setUp() {
            config.setUp();
            helper.setUp();
        }

        @After
        public void tearDown() {
            helper.tearDown();
            config.tearDown();
        }

        @Test
        public void doTest() {
         // Code omitted
        }
    }
错误:

java.lang.NullPointerException
    at com.google.appengine.tools.development.testing.LocalBlobstoreServiceTestConfig.setUp(LocalBlobstoreServiceTestConfig.java:52)

您可能想要的是以下内容:

public class BlobstoreDaoTest {
    private LocalServiceTestHelper helper =
            new LocalServiceTestHelper(
              new LocalDatastoreServiceTestConfig(),
              new LocalBlobstoreServiceTestConfig()
            );

    @Before
    public void setUp() {
        helper.setUp();
    }

    @After
    public void tearDown() {
        helper.tearDown();
    }
...

您可能想要的是以下内容:

public class BlobstoreDaoTest {
    private LocalServiceTestHelper helper =
            new LocalServiceTestHelper(
              new LocalDatastoreServiceTestConfig(),
              new LocalBlobstoreServiceTestConfig()
            );

    @Before
    public void setUp() {
        helper.setUp();
    }

    @After
    public void tearDown() {
        helper.tearDown();
    }
...

助手应该包含所有配置,并且只调用其设置/拆卸。本地blobstore可能看不到数据存储已设置,因为它在其上下文之外。帮助程序应该包含所有配置,并且只调用其设置/拆卸。本地blobstore可能看不到数据存储已设置,因为它在其上下文之外。