如何在Rails中使用像vcr这样的AngularJs进行测试来记录灯具?

时间:2015-05-07 16:43:36

标签: angularjs testing protractor vcr

我一直在寻找各处,我尝试了节点重播,但是使用量角器,但它不能使用硒。

我也尝试过vcr.js和棕褐色。

我如何设置我们的测试,因为他们进行了初始调用,但将它们存储为vcr之类的磁带。

干杯。

1 个答案:

答案 0 :(得分:0)

我一直在设置棕褐色用于量角器。 它现在有效,这就是我所做的:

我认为你已经设置了grunt-connect来运行你的量角器测试。

然后您需要等待连接配置中的事件侦听事件: grunt.event.once('connect.test.listening', function)

您将配置棕褐色。

  grunt.event.once('connect.test.listening', function(host, port) {
    /**
     * Configure sepia here
     */

    var sepia = require('sepia').withSepiaServer();

    // Use your custom configuration
    sepia.configure({
      verbose: true,
      debug: true,
      includeHeaderNames: false,
      includeCookieNames: false
    });

    // I have some path/body content to filter configured in the vrc configuration
    var bodyFilters = grunt.config('vcr.filters.body') || [];
    var pathFilters = grunt.config('vcr.filters.path') || [];
    var regexPath = function(string) {
      var escapedString = string.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, '\\$&');
      return new RegExp(escapedString);
    };

    // Filter path
    _.map(pathFilters, function(filter) {
      sepia.filter({
        url: regexPath(filter.path),
        urlFilter: function(url) {
          return url.replace(filter.pattern, filter.replacement);
        }
      });
    });

    // Filter body content
    _.map(bodyFilters, function(filter) {
      sepia.filter({
        url: regexPath(filter.path),
        bodyFilter: function(body) {
          return body.replace(filter.pattern, filter.replacement);
        }
      });
    });
  });
});