0

我正在尝试使用 pactJS 并生成协议。

我正在使用业力/茉莉花来运行我的测试..

下面是我的 package.json

{
  "name": "andriod-pact",
  "version": "1.0.0",
  "description": "This is a microservice that is one of the two consumers of 
the provider microservice",
  "main": "index.js",
  "scripts": {
  "test": "echo \"Error: no test specified\" && exit 1"
 },
  "author": "",
  "license": "ISC",
  "devDependencies": {
  "jasmine": "^2.6.0",
  "karma": "^1.7.0",
  "karma-phantomjs-launcher": "^1.0.4",
  "pact": "^2.6.0"
 }
}

这是我的 karma.conf 文件

// Karma 配置 // 生成于 2017 年 7 月 25 日星期二 15:32:06 GMT+0200(西欧夏令时间)

    module.exports = function(config) {
      config.set({

        // base path that will be used to resolve all patterns (eg. files, exclude)
        basePath: '',

        // frameworks to use
        // available frameworks: https://npmjs.org/browse/keyword/karma-adapter
        frameworks: ['jasmine', 'pact'],

        // list of files / patterns to load in the browser
        files: [
         '../../dist/pact-web.js',
        'src/test/js/*.js'
        ],


        // list of files to exclude
        exclude: [
        ],


        // preprocess matching files before serving them to the browser
        // available preprocessors: https://npmjs.org/browse/keyword/karma-preprocessor
        preprocessors: {
        },


        // test results reporter to use
        // possible values: 'dots', 'progress'
        // available reporters: https://npmjs.org/browse/keyword/karma-reporter
        reporters: ['progress'],


        // web server port
        port: 9876,


        // enable / disable colors in the output (reporters and logs)
        colors: true,


        // level of logging
        // possible values: config.LOG_DISABLE || config.LOG_ERROR || config.LOG_WARN || config.LOG_INFO || config.LOG_DEBUG
        logLevel: config.LOG_INFO,


        // enable / disable watching file and executing tests whenever any file changes
        autoWatch: true,


        // start these browsers
        // available browser launchers: https://npmjs.org/browse/keyword/karma-launcher
        browsers: ['PhantomJS_without_security'],

        customLaunchers: {
          PhantomJS_without_security: {
            base: 'PhantomJS',
            flags: ['--web-security=no']
          }
        },

        // Continuous Integration mode
        // if true, Karma captures browsers, runs the tests and exits
        singleRun: false,

        // Concurrency level
        // how many browser should be started simultaneous
        concurrency: Infinity
      })
    }

但是当我使用 karma start karma.conf 运行我的测试时

我收到这个错误

Error: No provider for "framework:pact"! (Resolving: framework:pact)
    at error (C:\PactDemoMaster\PactDemoAndroidApp\node_modules\di\lib\injector.js:22:12)
    at Object.parent.get (C:\PactDemoMaster\PactDemoAndroidApp\node_modules\di\lib\injector.js:9:13)
    at get (C:\PactDemoMaster\PactDemoAndroidApp\node_modules\di\lib\injector.js:54:19)
    at C:\PactDemoMaster\PactDemoAndroidApp\node_modules\karma\lib\server.js:143:20
    at Array.forEach (native)
    at Server._start (C:\PactDemoMaster\PactDemoAndroidApp\node_modules\karma\lib\server.js:142:21)
    at invoke (C:\PactDemoMaster\PactDemoAndroidApp\node_modules\di\lib\injector.js:75:15)
    at Server.start (C:\PactDemoMaster\PactDemoAndroidApp\node_modules\karma\lib\server.js:103:18)
    at Object.exports.run (C:\PactDemoMaster\PactDemoAndroidApp\node_modules\karma\lib\cli.js:280:26)
    at requireCliAndRun (C:\Users\aajai_000\AppData\Roaming\npm\node_modules\karma-cli\bin\karma:44:16)
    at C:\Users\aajai_000\AppData\Roaming\npm\node_modules\karma-cli\bin\karma:54:12
    at C:\Users\aajai_000\AppData\Roaming\npm\node_modules\karma-cli\node_modules\resolve\lib\async.js:45:21
    at ondir (C:\Users\aajai_000\AppData\Roaming\npm\node_modules\karma-cli\node_modules\resolve\lib\async.js:196:27)
    at C:\Users\aajai_000\AppData\Roaming\npm\node_modules\karma-cli\node_modules\resolve\lib\async.js:163:39
    at onex (C:\Users\aajai_000\AppData\Roaming\npm\node_modules\karma-cli\node_modules\resolve\lib\async.js:104:32)
    at C:\Users\aajai_000\AppData\Roaming\npm\node_modules\karma-cli\node_modules\resolve\lib\async.js:24:24

如果有人可以指出我明显的问题......

问候

4

1 回答 1

0

您缺少karma-pact插件,默认情况下它不带有标准协议依赖项。

请参阅https://github.com/pact-foundation/karma-pact

于 2017-07-26T12:17:57.367 回答