Запуск GWTTestCase с Maven

1

Я не могу запустить GWT Test с моим проектом GWT Library при запуске $ mvn clean install, он вызывает эту ошибку:

[ERROR] Hint: Check that your module inherits 'com.google.gwt.core.Core' either directly or indirectly (most often by inheriting module 'com.google.gwt.user.User')

Однако приложение имеет это в файле App.gwt.xml:

<?xml version="1.0" encoding="UTF-8"?>
<module>
  <inherits name="com.google.gwt.core.Core" />
  <inherits name='com.google.gwt.user.User'/>
  <inherits name="com.google.gwt.i18n.I18N"/>
  <inherits name="org.restlet.Restlet" />
  <!-- Specify the paths for translatable code -->
  <source path='client'/>
  <source path='shared'/>
</module>

И тестовый код очень прост:

public class AppTest extends GWTTestCase {
    @Before
    public void prepareTests(){

    }
    @After
    public void afterTests() {

    }
    @Override
    public String getModuleName() {
        return "com.mycompany.App";
    }
    @Test
    public void test(){
        Assert.assertTrue(true);
    }
}

В чем может быть проблема, препятствующая запуску теста?

  • 0
    Как вы запускаете свои тесты? безошибочный / безотказный? с каким конфигом? GWT: тест?
Теги:
maven
gwt

1 ответ

4
Лучший ответ

1.- Не используйте Junit-4, но Junit-3, удалите @Test и назовите свои тесты test префиксом

2.- Override getModuleName, возвращающий ваш модуль gwt

gwtSetup Используйте gwtSetup и gwtTearDown вместо @Before и @After

  public class MyGwtTest extends GWTTestCase {

    @Override
    public String getModuleName() {
      return "com.example.MyApp";
    }
    @Override
    protected void gwtSetUp() throws Exception {
    }
    @Override
    protected void gwtTearDown() throws Exception {
    }

    public void testSomething() {
      // test something
    }
  }

4.- Настройте gwt-maven соответствующим образом, чтобы вы могли использовать mvn gwt:test для запуска тестов

5.- Или сконфигурируйте свой проект maven с этой надежной конфигурацией, и вы можете использовать обычный mvn test.

<plugin>
   <artifactId>maven-surefire-plugin</artifactId>
   <version>2.8.1</version>
   <configuration>
     <additionalClasspathElements>
       <additionalClasspathElement>${project.build.sourceDirectory}</additionalClasspathElement>
       <additionalClasspathElement>${project.build.testSourceDirectory}</additionalClasspathElement>
     </additionalClasspathElements>
     <useManifestOnlyJar>false</useManifestOnlyJar>
     <forkMode>always</forkMode>
   </configuration>
</plugin>
  • 0
    Спасибо, я получаю Исключение в потоке "поток клиента htmlUnit" java.lang.NoSuchFieldError: INSTANCE
  • 0
    Я исправил это, добавив зависимость google-http-client
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню