0

首先:我查看了许多解决类似问题的票证,但我觉得我的不同之处在于一个特别的方面:我刚刚在 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,还是我需要添加和配置其他模块?

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

4

1 回答 1

1

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

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

至于 RequireJS,Chutzpah 支持使用它,但不与它捆绑在一起。你必须自己参考。请查看Chutzpah 存储库中的示例。这些可以帮助您入门。

于 2016-11-25T07:12:45.037 回答