Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js &引用;SyntaxError:意外的令牌导入“;运行测试时出错_Node.js_Jestjs_Pact - Fatal编程技术网

Node.js &引用;SyntaxError:意外的令牌导入“;运行测试时出错

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 _

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 _ = 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')