Этот фрагмент сокращенного кода отвечает за вызов службы SOAP и анализ результатов. Он отлично работает в производстве; однако в интеграционном тесте выдается ошибка:
import soap from 'soap'
import xml2js from 'xml2js'
const parser = new xml2js.Parser
export default async () => (
new Promise(async (resolve, reject) => {
soap.createClient('https://url.com/soap/extract?wsdl', (async (err, client) => {
if(err) reject(err)
try {
//call service, parse results, etc
resolve(parsedResult)
} catch(e) {
reject(e)
}
}))
})
)
После отладки я обнаружил, что soap
переименовывается в _soap
, что приводит к сбою строки soap.createClient
. Почему этот модуль переименовывается и что я могу сделать, чтобы исправить это?
Соответствующие части из моего package.json
приведены ниже.
"babel": {
"env": {
"test": {
"presets": [
[
"@babel/preset-env",
{
"modules": false,
"targets": {
"node": "current"
}
}
]
],
"plugins": [
[
"@babel/plugin-transform-modules-commonjs",
{
"spec": true
}
]
]
}
}
},
"jest": {
"transform": {
"^.+\\.mjs$": "babel-jest"
},
"moduleFileExtensions": [
"mjs",
"js"
],
"collectCoverage": true,
"collectCoverageFrom": [
"src/**/*.mjs",
"!src/worker-controller.mjs",
"!src/utilities/db.mjs",
"!src/utilities/logger.mjs"
]
}
Узел: 12.14.1
Jest: 24.9.0
@ babel / plugin-transform-modules-common js: 7.7.5