Как исправить интеграционный тест JHipster? - PullRequest
0 голосов
/ 29 апреля 2018

Я использую JHipster версии 4.14.3
Я создал базовое монолитное приложение, выбрав все параметры по умолчанию.
Затем я импортирую простой файл JDL, используя команду jhipster import-jdl Model.jdl
Содержимое файла JDL выглядит следующим образом:

entity PhoneContact {
    phoneNumber         String required pattern('/\\+?[0-9. ()-]{10,25}/'),
    isMobile            Boolean
}

Далее я хочу создать файл Docker с помощью следующей команды:
mvnw package -Pprod dockerfile:build

Запускается процесс сборки, который завершается неудачей на этапе тестирования.
Похоже, что сбои теста связаны с шаблоном phoneNumber, потому что, когда я импортирую модель с закомментированным шаблоном, я не получаю те же сбои теста.
Сгенерированный тестовый класс t.j.t3.web.rest.PhoneContactResourceIntTest включает следующие два объявления:

//    private static final String DEFAULT_PHONE_NUMBER = "0287146-2.1)0 0602";
//    private static final String UPDATED_PHONE_NUMBER = "586) .589(1";

    private static final String DEFAULT_PHONE_NUMBER = "0123456789";
    private static final String UPDATED_PHONE_NUMBER = "9876543210";

Однако даже когда я заменяю объявления гораздо более простыми значениями, тесты по-прежнему не проходят с теми же ошибками.
Трассировка стека для первого сгенерированного теста createPhoneContact выглядит следующим образом:

java.lang.AssertionError: Ожидаемый статус: <201>, но был: <400> в org.springframework.test.util.AssertionErrors.fail (AssertionErrors.java:54) в org.springframework.test.util.AssertionErrors.assertEquals (AssertionErrors.java:81) в org.springframework.test.web.servlet.result.StatusResultMatchers $ 10.match (StatusResultMatchers.java:665) в org.springframework.test.web.servlet.MockMvc $ 1.andExpect (MockMvc.java:171) в t.j.t3.web.rest.PhoneContactResourceIntTest.createPhoneContact (PhoneContactResourceIntTest.java:107) в sun.reflect.NativeMethodAccessorImpl.invoke0 (собственный метод) в sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62) в sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43) в java.lang.reflect.Method.invoke (Method.java:497) в org.junit.runners.model.FrameworkMethod $ 1.runReflectiveCall (FrameworkMethod.java:50) в org.junit.internal.runners.model.ReflectiveCallable.run (ReflectiveCallable.java:12) в org.junit.runners.model.FrameworkMethod.invokeExplosively (FrameworkMethod.java:47) в org.junit.internal.runners.statements.InvokeMethod.evaluate (InvokeMethod.java:17) в org.junit.internal.runners.statements.RunBefores.evaluate (RunBefores.java:26) в org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate (RunBeforeTestMethodCallbacks.java:75) в org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate (RunAfterTestMethodCallbacks.java:86) в org.springframework.test.context.junit4.statements.SpringRepeat.evaluate (SpringRepeat.java:84) в org.junit.runners.ParentRunner.runLeaf (ParentRunner.java:325) в org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild (SpringJUnit4ClassRunner.java:252) в org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild (SpringJUnit4ClassRunner.java:94) в org.junit.runners.ParentRunner $ 3.run (ParentRunner.java:290) в org.junit.runners.ParentRunner $ 1.schedule (ParentRunner.java:71) в org.junit.runners.ParentRunner.runChildren (ParentRunner.java:288) в org.junit.runners.ParentRunner.access $ 000 (ParentRunner.java:58) в org.junit.runners.ParentRunner $ 2.evaluate (ParentRunner.java:268) в org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate (RunBeforeTestClassCallbacks.java:61) в org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate (RunAfterTestClassCallbacks.java:70) в org.junit.runners.ParentRunner.run (ParentRunner.java:363) в org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run (SpringJUnit4ClassRunner.java:191) в org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run (JUnit4TestReference.java:86) в org.eclipse.jdt.internal.junit.runner.TestExecution.run (TestExecution.java:38) вorg.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests (RemoteTestRunner.java:538) в org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests (RemoteTestRunner.java:760) в org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run (RemoteTestRunner.java:460) в org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main (RemoteTestRunner.java:206)

1 Ответ

0 голосов
/ 30 апреля 2018

Ваше регулярное выражение не соответствует сгенерированным значениям. В вашем случае ожидается, что номер телефона начинается с символа \. Вы также не должны окружать регулярное выражение в файлах JDL кавычками ( согласно документации JDL ).

JHipster генерирует модульные тесты, которые работают для общих сущностей, не зная ваших правил проверки: возможно, что сгенерированные тесты не проходят правила проверки. В этом случае вам необходимо обновить примеры значений, используемых в ваших модульных тестах, чтобы они соответствовали правилам проверки. - https://www.jhipster.tech/creating-an-entity/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...