Google App Engine Objectify集成测试

时间:2014-03-01 20:52:37

标签: google-app-engine maven junit jetty objectify

我有一些junit测试与objectify很好地运行。 我在

  • GAE 1.8.8
  • maven 3.1.1
  • failsafe-maven-plugin 2.4.3-alpha-1
  • jdk 1.7
  • jetty-maven-plugin 8.0.1.v20110908

为了实现本地持久性模拟,我通常会有类似这样的设置:

@ContextConfiguration(value = "classpath*:/test-config.xml")
@RunWith(SpringJUnit4ClassRunner.class)
public class PassengerServiceTest {
    private static final Logger log = Logger.getLogger(PassengerServiceTest.class);
    private final LocalServiceTestHelper helper = new LocalServiceTestHelper( new  LocalDatastoreServiceTestConfig());

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

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

但是,当我使用maven-failsafe-plugin时,为了对jetty运行一些集成测试,那么我看到以下错误:

  

com.googlecode.objectify.SaveException :保存乘客时出错{id = 139,email ='will @ email.com,firstName ='will'}:没有API环境已注册此主题。

现在集成测试读取类似于上面的单元测试,只要我设置了LocalServiceTestHelper

我认为构建war文件并在预集成测试阶段在jetty中部署时不再知道LocalServiceTestHelper了。

如何使用maven-failsafe-plugin解决此问题以进行集成测试?

1 个答案:

答案 0 :(得分:0)

您是否考虑过maven-failsafe-plugin的命名惯例:

这意味着您的集成应该命名为WhatEverIT.java ..

   <includes>
     <include>**/IT*.java</include>
     <include>**/*IT.java</include>
     <include>**/*ITCase.java</include>
   </includes>