代码之家  ›  专栏  ›  技术社区  ›  MyDaftQuestions

Jasmine是否支持带=>(箭头)的javascript?

  •  1
  • MyDaftQuestions  · 技术社区  · 7 年前

    茉莉花似乎不支持 => (如果我自己的发现是正确的)。

    这是我的一个片段 logic.js 文件

    var myObj = new function(){
        this.getSomething = function(input){
            _myLocalArray.forEach(item =>{
                //left blank
            });
        };
    };
    

    我的测试是

    /// <reference path="../../Ui/Content/Javascript/logic.js"/>
    /// <reference path="jasmine.js" />
    
    describe("My Tests", function () {
    
    it("Description etc", function () {
        var result = myObj.getSomething("some input"); // FAILS HERE
        expect(result.length).toBe(0);
    });
    ...
    

    它失败了

    文件中第61行第37列的javascript严重错误:///d:/github/ui/content/javascript/logic.js\n\nscript1020:语法错误

    上面的th3e代码段中显示了第61行,其中//在此处失败

    然后在茉莉花中抛出一个例外

    myobj未定义

    如果我注释掉逻辑中的代码(在我使用的地方 = & gt; )然后代码执行时没有这些错误

    我做错什么了?是 = & gt; 不支持?我在文件中找不到任何证据来证实这一点。

    编辑

    我不用点头。我使用的是Vanilla JavaScript、Visual Studio 2017、Jasmine和Chutzpah。

    1 回复  |  直到 7 年前
        1
  •  3
  •   Lux    7 年前

    这非常重要:

    我使用的是Vanilla JavaScript、Visual Studio 2017、Jasmine和Chutzpah。

    首先,没有 普通JavaScript !或者至少,节点并不意味着你不使用 普通JavaScript 。这个 只有 意义 普通JavaScript 您不使用任何框架/库。不管你 总是 需要一些东西来执行您的javascript。或者是一个浏览器或者类似的东西 node 。但是,还有其他选项,例如 犀牛 , 格拉尔夫 杜克磁带 .

    Jasmine是一个用JavaScript编写的库。所以Jasmine与支持的javascript功能无关。然而 楚兹帕 有。那么如何 楚兹帕 执行你的javascript?嗯, readme 回答这个问题:

    Chutzpah支持Qunit、Jasmine和Mocha测试框架。Chutzpah使用PhantomJS无头浏览器来运行测试。

    这是你的答案: Phantomjs does not support arrow functions!

    事实上 phantomjs is dead 应该换成铬合金的无头。还有活动 Chutzpah 看起来不是很有希望。所以我可以建议你远离 楚兹帕 现在,使用一些在引擎盖下使用铬头的东西。