如何获得测试以像 Rails 中的 vcr 一样使用 AngularJs 记录固定装置?

How to get tests to record fixtures with AngularJs like vcr in Rails?

我到处都在寻找,我尝试了节点重播,但使用了量角器,但它不适用于 selenium。

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

我该如何设置我的测试,因为他们进行初始调用但将它们存储为磁带,如录像机。

干杯。

我一直在设置棕褐色以与​​量角器一起使用。 现在可以使用了,这是我所做的:

我假设您已经将 g运行t-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);
        }
      });
    });
  });
});