我有一些代码要部署到使用URLFetchService
. 我想使用 JUnit 来测试这段代码。根据测试文档,看来我应该有一个使用他们的LocalURLFetchServiceTestConfig
类的测试,如下所示:
public class MyRemoteServiceTests {
private static final LocalURLFetchServiceTestConfig urlConfig = new LocalURLFetchServiceTestConfig();
private static final LocalServiceTestHelper helper =
new LocalServiceTestHelper(urlConfig);
@Before
public void setUp() throws Exception {
service = new SampleService();
helper.setUp();
}
@After
public void tearDown() throws Exception {
service = null;
helper.tearDown();
}
@Test
public void testThatCallsCodeThatUsesUrlFetch() {
Object data = service.getRemoteDataUsingUrlFetch("foo", "bar");
Assert.assertNotNull(data);
}
}
我发现尽管使用了 GAE/J 测试文档中建议的“帮助器”,但该测试仍然失败:“ The API package 'urlfetch' or call 'Fetch()' was not found.
”。
我假设使用“帮助程序”会以某种方式设置 GAE 环境,这样当我URLFetchServiceFactory.getURLFetchService()
从我的getRemoteDataUsingUrlFetch
方法中调用时,返回的接口将是一个LocalURLFetchService
“工作”的实例,但似乎并非如此。
- 如何测试此代码?
- 我错过了什么吗?(我对GAE很陌生......)
- 我是否必须重构我的
getRemoteDataUsingUrlFetch
以便它不使用URLFetchServiceFactory.getURLFetchService()
,因为这使得它在本地无法测试???(听起来真的很烂……)
非常感谢任何帮助/建议!