Нет результатов покрытия при использовании подключаемого модуля eclEmma для серверного кода в приложении gwt

Я использую плагин eclEmma для проверки покрытия кода моего приложения gwt. Я написал тестовые классы jUnit для клиентского кода, такие как тестирование методов get / set и т. Д., А также тесты jUnit для служб rpc. Я использовал «syncproxy» для тестирования моих эквивалентных служб GreetService, GreetServiceAsync и GreetServiceImpl rpc. Например, у меня есть служба определения местоположения, которая получает местоположение пользователей, и это часть моего тестового класса:

public class 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 в своем проекте (я щелкаю проект правой кнопкой мыши, выбираю «Покрытие как», затем «jUnit test»), я получаю только результаты покрытия для клиентского кода и 0% покрытия для всего моего серверного кода. .

Любые предложения о том, как заставить eclEmma покрывать серверный код? Или из-за того, что я делаю не так?


person user1855291    schedule 27.11.2012    source источник


Ответы (1)


EclEmma отслеживает покрытие кода, запущенного на тестовой jvm (виртуальной машине, запускаемой при запуске теста). Кажется, вы уже запускали свой сервер раньше, поэтому eclEmma «не видит» его покрытия. Вы можете попробовать запустить сервер внутри своих тестов, например, с помощью Cargo.

person juanignaciosl    schedule 02.01.2014