sum*_*h13 4 javascript snowflake-cloud-data-platform cypress async-hooks cypress-task
我正在尝试将 Snowflake 集成到我的 Cypress 测试中,但它在编译时不断抛出错误。错误:
Error: Webpack Compilation Error
./node_modules/vm2/lib/resolver-compat.js
Module not found: Error: Can't resolve 'async_hooks' in 'C:\snowflake\node_modules\vm2\lib'
resolve 'async_hooks' in 'C:\snowflake\node_modules\vm2\lib'
Parsed request is a module
using description file: C:\snowflake\node_modules\vm2\package.json (relative path: ./lib)
Field 'browser' doesn't contain a valid alias configuration
Run Code Online (Sandbox Code Playgroud)
尝试了以下简单步骤:
const snowflake = require("snowflake-sdk");
Run Code Online (Sandbox Code Playgroud)
当我运行规范文件时,出现上述错误。
如果我将错误跟踪到文件resolver-compat.js,我可以看到导入失败的地方。
const {AsyncResource} = require('async_hooks');
Run Code Online (Sandbox Code Playgroud)
我已经手动完成了 npm installasync_hooks但也没有运气。
包.json
"devDependencies": {
"cypress": "^11.2.0"
},
"dependencies": {
"async_hooks": "^1.0.0",
"snowflake-sdk": "^1.6.16"
}
Run Code Online (Sandbox Code Playgroud)
Snowflake-sdk 是一个 NodeJs 包,因此在 Cypress 中您需要通过任务与其交互。
这是取自 Snowflake 文档的基本连接任务。
赛普拉斯.config.js
const { defineConfig } = require("cypress");
var snowflake = require("snowflake-sdk");
let connectionId;
module.exports = defineConfig({
e2e: {
setupNodeEvents(on, config) {
on("task", {
snowflake: () => {
var connection = snowflake.createConnection({
account: "account",
username: "user",
password: "password",
application: "application",
});
connection.connect(function (err, conn) {
if (err) {
console.error("Unable to connect: " + err.message);
} else {
console.log("Successfully connected to Snowflake.");
// Optional: store the connection ID.
connectionId = conn.getId();
}
})
return null
},
});
},
},
})
Run Code Online (Sandbox Code Playgroud)
测试
it('Connect to snowflake', () => {
cy.task('snowflake')
})
Run Code Online (Sandbox Code Playgroud)
如果没有正确的凭据,它会产生连接错误,但会证明该包正在工作。
无法连接:对 Snowflake 的请求失败。
| 归档时间: |
|
| 查看次数: |
595 次 |
| 最近记录: |