1

我不知道如何将单元测试指向队列配置文件。

单元测试片段

// TaskQueue setup
LocalTaskQueueTestConfig tqConfig = new LocalTaskQueueTestConfig();
tqConfig.setQueueXmlPath("/war/WEB_INF/queue.xml");

堆栈跟踪

java.lang.IllegalStateException:指定的队列未知:com.google.appengine.api.labs.taskqueue 的 com.google.appengine.api.labs.taskqueue.QueueApiHelper.translateError(QueueApiHelper.java:56) 的 zip-fetch .QueueApiHelper.translateError(QueueApiHelper.java:111) 在 com.google.appengine.api.labs.taskqueue.QueueApiHelper.makeSyncCall(QueueApiHelper.java:32) 在 com.google.appengine.api.labs.taskqueue.QueueImpl.add (QueueImpl.java:310) 在 com.google.appengine.api.labs.taskqueue.QueueImpl.add(QueueImpl.java:282) 在 com.google.appengine.api.labs.taskqueue.QueueImpl.add(QueueImpl.java :267) 在...

4

3 回答 3

4
LocalTaskQueueTestConfig tqConfig = new LocalTaskQueueTestConfig();
tqConfig.setQueueXmlPath("war/WEB-INF/queue.xml");

它是相对于项目的根目录或绝对路径
我有一个下划线而不是连字符。

于 2010-05-18T22:57:45.310 回答
1

根据 javadoc,setQueueXmlPath 必须是完整路径

public LocalTask​​QueueTestConfig setQueueXmlPath(java.lang.String queueXmlPath) 覆盖 queue.xml 的位置。必须是完整路径,例如 /usr/local/dev/myapp/test/queue.xml

https://developers.google.com/appengine/docs/java/tools/localunittesting/javadoc/com/google/appengine/tools/development/testing/LocalTask​​QueueTestConfig#setQueueXmlPath (java.lang.String )

于 2012-03-29T15:18:16.117 回答
0

为了使它与我的 maven 项目(使用 GAE 1.7.3)一起工作,我必须指定测试位置的完整路径:

LocalTaskQueueTestConfig tqConfig = new LocalTaskQueueTestConfig();
tqConfig.setQueueXmlPath("src/test/resources/queue.xml");
于 2012-11-27T04:47:55.320 回答