Node.js &引用;SyntaxError:意外的令牌导入“;运行测试时出错
Pact JS和Jest的新增功能,用于测试消费者和提供者之间的API合同。我正在尝试设置以下一些示例 运行测试时,我面临以下问题:Node.js &引用;SyntaxError:意外的令牌导入“;运行测试时出错,node.js,jestjs,pact,Node.js,Jestjs,Pact,Pact JS和Jest的新增功能,用于测试消费者和提供者之间的API合同。我正在尝试设置以下一些示例 运行测试时,我面临以下问题: <...>/node_modules/@pact-foundation/pact-node/src/pact.ts:1 ({"Object.<anonymous>":function(module,exports,require,__dirname,__filename,global,jest){import _
<...>/node_modules/@pact-foundation/pact-node/src/pact.ts:1
({"Object.<anonymous>":function(module,exports,require,__dirname,__filename,global,jest){import _ = require("underscore");
^^^^^^
SyntaxError: Unexpected token import
at ScriptTransformer._transformAndBuildScript (node_modules/jest-runtime/build/script_transformer.js:305:17)
at Object.<anonymous> (node_modules/@pact-foundation/pact-node/src/index.js:3:14)
at Object.<anonymous> (node_modules/pact/src/dsl/verifier.js:8:24)
这是javascript还是typescript项目?似乎您的玩笑是试图将我们包中的typescript包含到一个javascript测试项目中,然后在“导入”时失败,因为javascript中没有导入的概念,也就是说,除非您将其编译为javascript
玩笑不是要用于前端项目吗?Pact节点用于节点项目,而不是前端。您希望在启动jest测试之前启动pact节点,然后使用pact js与pact服务通信以设置交互。这是javascript还是typescript项目?似乎您的玩笑是试图将我们包中的typescript包含到一个javascript测试项目中,然后在“导入”时失败,因为javascript中没有导入的概念,也就是说,除非您将其编译为javascript
玩笑不是要用于前端项目吗?Pact节点用于节点项目,而不是前端。在开始jest测试之前,您希望启动pact节点,然后使用pact js与pact服务通信以设置交互。您为什么不导入pact节点,如
const wrapper=require('@pact foundation/pact node')
?它似乎在抱怨typescript源。@matthew fellows:我确实尝试过:const wrapper=require(“@pact foundation/pact node”)。抱歉,我应该提到这一点。您为什么不像导入const wrapper=require(“@pact foundation/pact node”)
那样导入pact节点?它似乎在抱怨typescript源。@matthew fellows:我确实尝试过:const wrapper=require(“@pact foundation/pact node”)。对不起,我应该提到这一点。我们可以用玩笑和约定来测试前端项目吗?我是新手,有困难。我试过几个例子,但遇到了很多问题。我现在遇到了以下问题:1)契约验证失败2)实际交互与模拟服务的预期交互不匹配。这似乎是由provider.verify()调用引起的。你能解释一下这个问题吗?@user8901251你能提供一个工作实例吗?如果没有可依赖的代码,就很难调试问题。注意到您对困难的反馈;作为一个整体,我们需要努力获得更好的文档和示例。正如我之前所说的,我很高兴能得到任何帮助。是的,你肯定在尝试在浏览器环境中运行节点服务器。要通过pact节点使用pact模拟服务器,需要在jest开始运行之前将其旋转起来。我试图查看jest的配置,一些框架在通过测试之前有办法启动外部工具,但我似乎找不到jest中的任何东西。相反,您可以使用命令行(或任何用于编写jest的工具,如Gulp)创建pact节点服务。使用命令行,您可以执行pact node mock--port 1234&&jest
。明白了吗?我们可以用玩笑和约定来测试前端项目吗?我是新手,有困难。我试过几个例子,但遇到了很多问题。我现在遇到了以下问题:1)契约验证失败2)实际交互与模拟服务的预期交互不匹配。这似乎是由provider.verify()调用引起的。你能解释一下这个问题吗?@user8901251你能提供一个工作实例吗?如果没有可依赖的代码,就很难调试问题。注意到您对困难的反馈;作为一个整体,我们需要努力获得更好的文档和示例。正如我之前所说的,我很高兴能得到任何帮助。是的,你肯定在尝试在浏览器环境中运行节点服务器。要通过pact节点使用pact模拟服务器,需要在jest开始运行之前将其旋转起来。我试图查看jest的配置,一些框架在通过测试之前有办法启动外部工具,但我似乎找不到jest中的任何东西。相反,您可以使用命令行(或任何用于编写jest的工具,如Gulp)创建pact节点服务。使用命令行,您可以执行pact node mock--port 1234&&jest
。清楚了吗?
const Pact = require('pact')
const wrapper = require('@pact-foundation/pact-node/src/index.js')
const path = require('path')