在 Visual Studio 2015 中使用 Chutzpah/PhantomJS 时收到错误“无法找到 variable:require”

Receiving error 'Can't find variable:require' when using Chutzpah/PhantomJS in Visual Studio 2015

首先:我看过许多解决类似问题的票证,但我觉得我的不同之处在于一个特别的方面:我刚刚在 [=52= 中安装了 Chutzpah 测试 运行ner ] 2015 年,我不知道 运行ner 在 PhantomJS 和 RequireJS 方面的测试会带来什么。不知道插件里已经为我配置了什么,需要自己配置什么

我在 Visual Studio 2015 年才开始使用 Chutzpah 测试 运行ner。

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

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

我已经成功 运行 一些不利用任何额外库的一次性 Jasmine 测试:

据我所知,Chutzpah 测试 运行ner 使用了 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。

我的问题是:

我是否应该期望 PhantomJS 和 RequireJS 在 Visual Studio 2015 年得到 Chutzpah 测试 运行ner 的原生支持,还是我需要添加和配置额外的模块?

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

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

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

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