首页 > 解决方案 > Pact-js - 提供者/消费者测试存储库中缺失的文件

问题描述


大家好,
我正在尝试实现 PACT JS。目前我指的是这个实现

npm install(或yarn install)和消费者端命令(mocha app/client/spec/PostServiceClient.spec.js)运行良好。生成了协议文件。

但是提供者端命令(node app/service/spec/PostService.spec.js)失败了。这似乎是由于 localhost 服务器造成的。但是我没有成功运行服务器。它错过了“三个”模块。

添加“三个”模块后,我无法编译构建。webpack.config.js因此存储库 main.js 和 Template.html (--> )中缺少 2 个文件。而且我没有成功在 Lucas M 博客中发表评论(http://hecodes.com/2016/10/better-testing-microservices-using-consumer-driven-contracts-node-js/

有人可以帮助我吗?威尔逊·马汉

标签: node.jsproducer-consumerpact

解决方案


所以我成功地完成了缺少的模块“三”:yarn add three
并运行服务器

$纱线服务器
    纱线运行 v1.9.4
    $ webpack-dev-server --host 0.0.0.0 --config webpack.config.js --devtool eval --progress --hot --inline
    clean-webpack-plugin: D:\Workspace\pact-js\js00\pact-node-example-master\dist 已被删除。70% 1/1 构建模块
     http://0.0.0.0:8080/
    webpack 结果来自 /
    内容来自 ./app 30% 1/3 构建模块内容来自 ./app 44% 4/7 构建模块内容来自 ./app 61% 6/7 构建模块内容来自 ./app 54% 12/ 16 个构建模块内容来自 ./app 62% 15/17 构建模块内容来自 ./app 45% 16/27 构建模块内容来自 ./app 35% 19/44 构建模块内容来自 ./app 49% 29/44 构建模块内容提供从 。/app 65% 42/45 构建模块内容来自 ./app 48% 44/69 构建模块内容来自 ./app 52% 49/69 构建模块内容来自 ./app 62% 60/69 构建模块内容来自从 。/app 66% 67/71 构建模块内容来自 ./app 69% 75/76 构建模块内容来自 ./app 哈希:2948e04a9d9577c7951d/app 69% 75/76 构建模块内容来自 ./app 哈希:2948e04a9d9577c7951d/app 69% 75/76 构建模块内容来自 ./app 哈希:2948e04a9d9577c7951d
    版本:webpack 1.15.0
    时间:569ms
                         资产大小块块名称
        bundle.2948e04a9d9577c7951d.js 285 kB 0 [发出] 应用程序
                            index.html 2.27 kB [发出]
        块 {0} bundle.2948e04a9d9577c7951d.js (app) 227 kB [渲染]
            [0] 多应用 52 字节 {0} [内置] [1 错误]
            [1] (webpack)-dev-server/client?http://0.0.0.0:8080 4.16 kB {0} [内置]
            [2] ./~/url/url.js 23.3 kB {0} [内置]
            [3] ./~/url/~/punycode/punycode.js 14.6 kB {0} [内置]
            [4] (webpack)/buildin/module.js 251 字节 {0} [内置]
            [5] ./~/url/util.js 314 字节 {0} [内置]
            [6] ./~/querystring/index.js 127 字节 {0} [内置]
            [7] ./~/querystring/decode.js 2.4 kB {0} [内置]
            [8] ./~/querystring/encode.js 2.09 kB {0} [内置]
            [9] ./~/strip-ansi/index.js 161 字节 {0} [内置]
           [10] ./~/ansi-regex/index.js 135 字节 {0} [内置]
           [11] (webpack)-dev-server/client/socket.js 897 字节 {0} [内置]
           [12] ./~/sockjs-client/lib/entry.js 244 字节 {0} [内置]
           [13] ./~/sockjs-client/lib/transport-list.js 613 字节 {0} [内置]
           [14] ./~/sockjs-client/lib/transport/websocket.js 2.72 kB {0} [内置]
           [15] ./~/process/browser.js 5.42 kB {0} [内置]
           [16] ./~/sockjs-client/lib/utils/event.js 2 kB {0} [内置]
           [17] ./~/sockjs-client/lib/utils/random.js 746 字节 {0} [内置]
           [18] ./~/sockjs-client/lib/utils/browser-crypto.js 438 字节 {0} [内置]
           [19] ./~/sockjs-client/lib/utils/url.js 975 字节 {0} [内置]
           [20] ./~/url-parse/index.js 12 kB {0} [内置]
           [21] ./~/requires-port/index.js 753 字节 {0} [内置]
           [22] ./~/querystringify/index.js 1.58 kB {0} [内置]
           [23] ./~/debug/src/browser.js 4.73 kB {0} [内置]
           [24] ./~/debug/src/debug.js 4.39 kB {0} [内置]
           [25] ./~/ms/index.js 2.76 kB {0} [内置]
           [26] ./~/inherits/inherits_browser.js 672 字节 {0} [内置]
           [27] ./~/sockjs-client/lib/event/emitter.js 1.27 kB {0} [内置]
           [28] ./~/sockjs-client/lib/event/eventtarget.js 1.85 kB {0} [内置]
           [29] ./~/sockjs-client/lib/transport/browser/websocket.js 210 字节 {0} [内置]
           [30] ./~/sockjs-client/lib/transport/xhr-streaming.js 1.25 kB {0} [内置]
           [31] ./~/sockjs-client/lib/transport/lib/ajax-based.js 1.31 kB {0} [内置]
           [32] ./~/sockjs-client/lib/transport/lib/sender-receiver.js 1.18 kB {0} [内置]
           [33] ./~/sockjs-client/lib/transport/lib/buffered-sender.js 2.3 kB {0} [内置]
           [34] ./~/sockjs-client/lib/transport/lib/polling.js 1.32 kB {0} [内置]
           [35] ./~/sockjs-client/lib/transport/receiver/xhr.js 1.58 kB {0} [内置]
           [36] ./~/sockjs-client/lib/transport/sender/xhr-cors.js 343 字节 {0} [内置]
           [37] ./~/sockjs-client/lib/transport/browser/abstract-xhr.js 4.8 kB {0} [内置]
           [38] ./~/sockjs-client/lib/transport/sender/xhr-local.js 352 字节 {0} [内置]
           [39] ./~/sockjs-client/lib/utils/browser.js 560 字节 {0} [内置]
           [40] ./~/sockjs-client/lib/transport/xdr-streaming.js 984 字节 {0} [内置]
           [41] ./~/sockjs-client/lib/transport/sender/xdr.js 2.46 kB {0} [内置]
           [42] ./~/sockjs-client/lib/transport/eventsource.js 766 字节 {0} [内置]
           [43] ./~/sockjs-client/lib/transport/receiver/eventsource.js 1.58 kB {0} [内置]
           [44] ./~/sockjs-client/lib/transport/browser/eventsource.js 37 字节 {0} [内置]
           [45] ./~/sockjs-client/lib/transport/lib/iframe-wrap.js 981 字节 {0} [内置]
           [46] ./~/sockjs-client/lib/transport/iframe.js 3.83 kB {0} [内置]
           [47] ./~/json3/lib/json3.js 43.3 kB {0} [内置]
           [48] (webpack)/buildin/amd-options.js 43 字节 {0} [内置]
           [49] ./~/sockjs-client/lib/version.js 26 字节 {0} [内置]
           [50] ./~/sockjs-client/lib/utils/iframe.js 5.04 kB {0} [内置]
           [51] ./~/sockjs-client/lib/utils/object.js 532 字节 {0} [内置]
           [52] ./~/sockjs-client/lib/transport/htmlfile.js 710 字节 {0} [内置]
           [53] ./~/sockjs-client/lib/transport/receiver/htmlfile.js 2.2 kB {0} [内置]
           [54] ./~/sockjs-client/lib/transport/xhr-polling.js 894 字节 {0} [内置]
           [55] ./~/sockjs-client/lib/transport/xdr-polling.js 712 字节 {0} [内置]
           [56] ./~/sockjs-client/lib/transport/jsonp-polling.js 1.02 kB {0} [内置]
           [57] ./~/sockjs-client/lib/transport/receiver/jsonp.js 5.57 kB {0} [内置]
           [58] ./~/sockjs-client/lib/transport/sender/jsonp.js 2.46 kB {0} [内置]
           [59] ./~/sockjs-client/lib/main.js 12 kB {0} [内置]
           [60] ./~/sockjs-client/lib/shims.js 17.2 kB {0} [内置]
           [61] ./~/sockjs-client/lib/utils/escape.js 2.36 kB {0} [内置]
           [62] ./~/sockjs-client/lib/utils/transport.js 1.35 kB {0} [内置]
           [63] ./~/sockjs-client/lib/utils/log.js 450 字节 {0} [内置]
           [64] ./~/sockjs-client/lib/event/event.js 477 字节 {0} [内置]
           [65] ./~/sockjs-client/lib/location.js 178 字节 {0} [内置]
           [66] ./~/sockjs-client/lib/event/close.js 295 字节 {0} [内置]
           [67] ./~/sockjs-client/lib/event/trans-message.js 292 字节 {0} [内置]
           [68] ./~/sockjs-client/lib/info-receiver.js 2.22 kB {0} [内置]
           [69] ./~/sockjs-client/lib/transport/sender/xhr-fake.js 456 字节 {0} [内置]
           [70] ./~/sockjs-client/lib/info-iframe.js 1.52 kB {0} [内置]
           [71] ./~/sockjs-client/lib/info-iframe-receiver.js 791 字节 {0} [内置]
           [72] ./~/sockjs-client/lib/info-ajax.js 1.03 kB {0} [内置]
           [73] ./~/sockjs-client/lib/iframe-bootstrap.js 2.9 kB {0} [内置]
           [74] ./~/sockjs-client/lib/facade.js 723 字节 {0} [内置]
           [75] (webpack)/hot/dev-server.js 1.85 kB {0} [内置]
           [76] (webpack)/hot/log-apply-result.js 813 字节 {0} [内置]

    多应用程序中的错误
    找不到模块:错误:无法解析 D:\Workspace\pact-js\js00\pact-node-example-master\app 中的“文件”或“目录”./main.js
     @多应用

    错误中的错误:子编译失败:
          找不到入口模块:错误:无法解析 D:\Workspace\pact-js\ 中的“文件”或“目录”D:\Workspace\pact-js\js00\pact-node-example-master\app\template.html js00\pact-node-example-master\app:
          错误:无法解析 D:\Workspace\pact-js\js00\pact-node 中的“文件”或“目录”D:\Workspace\pact-js\js00\pact-node-example-master\app\template.html -example-master\app

          - 编译器.js:76
            [pact-node-example-master]/[html-webpack-plugin]/lib/compiler.js:76:16

          - Compiler.js:214 编译器。
            [pact-node-example-master]/[webpack]/lib/Compiler.js:214:10

          - 编译器.js:403
            [pact-node-example-master]/[webpack]/lib/Compiler.js:403:12

          - Tapable.js:67 Compiler.next
            [pact-node-example-master]/[tapable]/lib/Tapable.js:67:11

          - CachePlugin.js:40 编译器。
            [pact-node-example-master]/[webpack]/lib/CachePlugin.js:40:4

          - Tapable.js:71 Compiler.applyPluginsAsync
            [pact-node-example-master]/[tapable]/lib/Tapable.js:71:13

          - Compiler.js:400 编译器。
            [pact-node-example-master]/[webpack]/lib/Compiler.js:400:9

          - Compilation.js:577 编译。
            [pact-node-example-master]/[webpack]/lib/Compilation.js:577:13

          - Tapable.js:60 Compilation.applyPluginsAsync
            [pact-node-example-master]/[tapable]/lib/Tapable.js:60:69

          - Compilation.js:572 编译。
            [pact-node-example-master]/[webpack]/lib/Compilation.js:572:10

          - Tapable.js:60 Compilation.applyPluginsAsync
            [pact-node-example-master]/[tapable]/lib/Tapable.js:60:69

          - Compilation.js:567 编译。
            [pact-node-example-master]/[webpack]/lib/Compilation.js:567:9

          - Tapable.js:60 Compilation.applyPluginsAsync
            [pact-node-example-master]/[tapable]/lib/Tapable.js:60:69

          - Compilation.js:563 编译。
            [pact-node-example-master]/[webpack]/lib/Compilation.js:563:8

          - Tapable.js:60 Compilation.applyPluginsAsync
            [pact-node-example-master]/[tapable]/lib/Tapable.js:60:69

          - Compilation.js:525 Compilation.seal
            [pact-node-example-master]/[webpack]/lib/Compilation.js:525:7


        “index.html”的子 html-webpack-plugin:

            找不到条目模块中的错误:错误:无法解析 D:\Workspace\pact- 中的“文件”或“目录”D:\Workspace\pact-js\js00\pact-node-example-master\app\template.html js\js00\pact-node-example-maste
        r\app
    webpack:编译失败。

最后,我创建了main.js 和 Template.html文件。我编译成功了,但我不知道在我的文件中实现什么代码!!

非常感谢


推荐阅读