【问题标题】:Receiving error 'Can't find variable:require' when using Chutzpah/PhantomJS in Visual Studio 2015在 Visual Studio 2015 中使用 Chutzpah/PhantomJS 时收到错误“找不到变量:需要”
【发布时间】:2016-10-24 19:32:42
【问题描述】:

首先:我查看了许多解决类似问题的票证,但我觉得我的不同之处在于一个特别的方面:我刚刚在 Visual Studio 2015 中安装了 Chutzpah 测试运行器,我不知道是什么在 PhantomJS 和 RequireJS 方面期望从那个测试运行器。我不知道插件中已经为我配置了什么,以及我需要自己配置什么。

我刚刚开始在 Visual Studio 2015 中使用 Chutzpah 测试运行程序。

我正在 Jasmine 框架内编写测试。

这是我当前的 chutzpah.json 配置:

我已经成功运行了一些不使用任何其他库的一次性 Jasmine 测试:

我的理解是 Chutzpah 测试运行器使用了 PhantomJS,所以我尝试编写一个测试来验证 PhantomJS 是否可用。

我复制了 PhantomJS 登陆页面上教程的第一行:

var page = require('webpage').create();

我将此插入到以下单元测试中:

describe('PhantomJS', function () {
    it('can create a web page', function () {
        var page = require('webpage').create();
        expect(page).toBeDefined();
    });
});

运行此测试后,我收到以下错误:

Message:ReferenceError:Can't find variable:require in ... {pointer to test file}

我的理解是 Chutzpah 已经使用了 RequireJS。

我的问题是:

我应该期望 Visual Studio 2015 中的 Chutzpah 测试运行程序原生支持 PhantomJS 和 RequireJS,还是需要添加和配置其他模块?

感谢您的关注。欢迎澄清问题。

【问题讨论】:

    标签: visual-studio-2015 requirejs chutzpah jasmine2.0


    【解决方案1】:

    Chutzpah 使用 PhantomJS,但您不能直接访问其内置的 require 函数。如果你想调用一个虚拟网页级的api,你可以使用以下代码:

    window.callPhantom(
    {
      Type:"Eval",
      Data: "phantom.pagesize(100,200);"
    });
    

    对于 RequireJS,Chutzpah 支持使用它,但不与它捆绑在一起。你必须自己参考。请在 Chutzpah 存储库中 check out the samples。这些可以帮助您入门。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-07
      • 2016-12-03
      • 2015-12-27
      • 1970-01-01
      • 1970-01-01
      • 2013-02-24
      相关资源
      最近更新 更多