对于gwt应用程序中的服务器代码,使用eclEmma插件没有覆盖结果

时间:2012-11-27 03:44:06

标签: eclemma

我正在使用eclEmma插件来测试我的gwt应用程序的代码覆盖率。我为客户端代码编写了jUnit测试类,例如测试get / set方法等,以及rpc服务的jUnit测试。我使用“syncproxy”来测试我的等效GreetService,GreetServiceAsync和GreetServiceImpl rpc服务。例如,我有一个获取用户位置的位置服务,这是我的测试类的一部分:

公共类LocationServiceTest {

private static LocationService rpcService =
        (LocationService) SyncProxy.newProxyInstance(LocationService.class,
      "http://localhost:...", "location");

@Test
public void testAdministrativeAreaLevel2LocationService() {
    String result = rpcService.getAddress("49.28839970000001,-123.1259316");
    assertTrue((result != null) && (result.startsWith("Vancouver")));

}

jUnit测试所有传递,但当我在我的项目上运行eclEmma时(我右键单击项目,选择“Coverage as”然后“jUnit test”)我只获得客户端代码的覆盖率结果,并且所有人都覆盖0%我的服务器代码。

有关如何让eclEmma涵盖服务器代码的任何建议?或者我可能做错了什么?

1 个答案:

答案 0 :(得分:0)

EclEmma跟踪在测试jvm(运行测试时启动的vm)上启动的代码的覆盖范围。您之前似乎正在运行您的服务器,因此eclEmma“无法看到”其覆盖范围。您可以尝试使用Cargo在测试中运行服务器。