【问题标题】:Testing javascript closure in jasmine在茉莉花中测试 javascript 闭包
【发布时间】:2016-10-14 12:26:48
【问题描述】:

我在使用 jasmine 方面完全是新手。我不知道如何为如下所示的 JavaScript 闭包编写测试用例。

我在 Typescript 中的代码如下:

module FIRST.Mobile.Controllers{
    "use strict";
    class sampletest
    {
        public subtract(a: number, b: number): number {
            return a - b;
        }
    }
}

当转换为 JavaScript 时,它变成:

var FIRST;
(function (FIRST) {
    var Mobile;
    (function (Mobile) {
        var Controllers;
        (function (Controllers) {
            "use strict";
            var sampletest = (function () {
                function sampletest() {
                }
                sampletest.prototype.subtract = function (a, b) {
                    return a - b;
                };
                return sampletest;
            })();
        })(Controllers = Mobile.Controllers || (Mobile.Controllers = {}));
    })(Mobile = FIRST.Mobile || (FIRST.Mobile = {}));
})(FIRST || (FIRST = {}));

我不明白我是否可以在打字稿模块中测试代码? 如果是的话,有人可以解释一下我如何使用茉莉花测试减法。

【问题讨论】:

  • 我不确定 typescript,但对于 es6 和 babel,我从不研究编译后的代码。我用和我的src文件夹写的一样的语言和结构来测试。如果你写ts来测试es5似乎不太对。

标签: javascript angularjs testing typescript jasmine


【解决方案1】:

您提供的代码实际上与闭包无关。

您可以通过这种方式访问​​ sampletest 类(我建议在 CamelCase 中将其编写为 SampleTest):FIRST.Mobile.Controllers.sampletest

你的函数subtract()在这里:

var t = new FIRST.Mobile.Controllers.sampletest();
t.subtract(5, 3); // returns 2

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多