Jhipster сгенерировал ошибки тестирования NPM интерфейсного шлюза

Я использую Jhipster и создал приложение-шлюз с интерфейсом пользователя. Я сделал пиплайн на github, который пытается запускать тесты переднего плана, то есть npm run test, однако тесты терпят неудачу с более чем 200 ошибками в tyescript. В основном та же ошибка, что и ниже.

Я знаю, что могу просмотреть каждый файл и попытаться исправить все ошибки, но мне интересно, почему / как jhipster создал все недопустимые файлы ts. Возможно, это проблема с версией, поскольку я делал обновление jhipster, но я не уверен, проходили ли эти тесты раньше, поскольку конвейер только новый, и я никогда не запускал локально.

Для справки я использую последнюю версию jHipster 6.6.0, и у меня установлена ​​последняя версия узла LTS 12.4.1 и npm 6.13.6. Однако в сгенерированном Jhipster pom он извлекает зависимость для node 12.13.1 и npm 6.13.4.

Более 260 таких ошибок и некоторые другие

error    expected call-signature: 'countDeleteButtons' to have a typedef (tslint:typedef)          @typescript-eslint/tslint/config 

error    Async arrow function has no 'await' expression  @typescript-eslint/require-await

Также мне пришлось отредактировать множество ts-файлов, чтобы исправить неработающий импорт модулей, чтобы завершить сборку webpack, прежде чем зайти так далеко. Снова просто интересно, как jHipster генерирует файлы с такими ошибками.

Обновление - я получил все, настроив tslint, чтобы игнорировать эту ошибку. Однако я не уверен, почему файлы, сгенерированные Jhipster, изначально содержат ошибки. Теперь "npm run webpack: prod" завершается с сотнями ошибок, как показано ниже.

src/test/javascript/spec/app/entities/jawnapp/comment/comment.service.spec.ts:18:9 - error TS7034: Variable 'expectedResult' implicitly has type 'any' in some locations where its type cannot be determined.

src/test/javascript/spec/app/entities/jawnapp/comment/comment.service.spec.ts:48:16 - error TS7005: Variable 'expectedResult' implicitly has an 'any' type.

.yo-rc.json

{
  "generator-jhipster": {
    "promptValues": {
      "packageName": "com.jawndoe.gate",
      "microservicePath": "../jawnapp"
    },
    "jhipsterVersion": "6.6.0",
    "applicationType": "gateway",
    "baseName": "jawngate",
    "packageName": "com.jawndoe.gate",
    "packageFolder": "com/jawndoe/gate",
    "serverPort": "8080",
    "authenticationType": "oauth2",
    "cacheProvider": "hazelcast",
    "enableHibernateCache": true,
    "websocket": "spring-websocket",
    "databaseType": "sql",
    "devDatabaseType": "h2Disk",
    "prodDatabaseType": "postgresql",
    "searchEngine": "elasticsearch",
    "messageBroker": "kafka",
    "serviceDiscoveryType": "eureka",
    "buildTool": "maven",
    "enableSwaggerCodegen": true,
    "useSass": true,
    "clientPackageManager": "npm",
    "clientFramework": "angularX",
    "clientTheme": "lux",
    "clientThemeVariant": "dark",
    "testFrameworks": ["gatling", "cucumber", "protractor"],
    "jhiPrefix": "gate",
    "entitySuffix": "",
    "dtoSuffix": "DTO",
    "otherModules": [],
    "enableTranslation": false,
    "blueprints": [],
    "embeddableLaunchScript": false,
    "creationTimestamp": 1579646926343,
    "herokuAppName": "jawngate",
    "herokuDeployType": "jar"
  }
}

person dean0bambin0    schedule 27.01.2020    source источник
comment
Не могли бы вы добавить свой .yo-rc.json к этому вопросу, чтобы можно было воссоздать свое приложение? Я только что создал шлюз со всеми параметрами по умолчанию и запустил npm test без проблем. Наборы тестов: 25 пройдено, всего 25 Тестов: 106 пройдено, всего 106 Снимков: всего 0 Время: 20,818с Выполнено все наборы тестов. Время исполнения: 29 с.   -  person Matt Raible    schedule 28.01.2020
comment
Обновленный вопрос с .yo-rc.json. Спасибо за помощь.   -  person dean0bambin0    schedule 28.01.2020
comment
Изначально этот проект был создан с помощью jhipster 6.2.0 и обновлен до 6.6.0.   -  person dean0bambin0    schedule 28.01.2020


Ответы (1)


Если я скопирую и вставлю ваш .yo-rc.json в пустой каталог и запущу jhipster (с версией 6.6.0), все, похоже, заработает. Результаты npm test:

Test Suites: 11 passed, 11 total
Tests:       51 passed, 51 total
Snapshots:   0 total
Time:        21.041s
Ran all test suites.
Execution time: 32 s.

Я подозреваю, что что-то было упущено в процессе обновления. Я бы предложил создать новое приложение с 6.6.0, затем сравнить каталоги с помощью SmartSynchronize и вручную внесите изменения для обновления.

person Matt Raible    schedule 29.01.2020