【问题标题】:How to unit test JS code for CodeEval using Mocha?如何使用 Mocha 对 CodeEval 的 JS 代码进行单元测试?
【发布时间】:2014-06-15 19:51:30
【问题描述】:

我想在 CodeEval 网站上使用 Mocha 框架对我的 JavaScript 解决方案进行单元测试。

我可以创建单独的文件或使用其他一些花哨的方法,但是:

  • 我希望我的解决方案可以在单元测试通过后准备好上传,而无需更改任何文件(我可能会忘记这样做)。
  • 附加代码不应引入不必要的时间或内存使用。

但 CodeEval 要求和 Mocha 似乎不兼容?

默认 CodeEval 存根:

var fs  = require("fs");
fs.readFileSync(process.argv[2]).toString().split('\n').forEach(function (line) {
if (line != "") {
    //do something here
    console.log(answer_line);
}

【问题讨论】:

    标签: javascript unit-testing mocha.js


    【解决方案1】:

    查看程序的参数数量非常简单。 CodeEval 为 3,mocha 为 2。mocha 执行总是落入“else”并导出逻辑函数。

    经过测试的解决方案。

    var fs  = require("fs");
    
    module.exports = processLine;
    
    if (process.argv.length === 3) {
        // codeeval mode
        fs.readFileSync(process.argv[2]).toString().split('\n').forEach(function (line) {
            if (line != "") {
                console.log(processLine(line));
            }
        });
    }
    
    function processLine(line) {
        return line;
    }
    

    备注:

    • 如果 mocha 是带参数运行的,也不带 mocha.opts 文件运行,除非参数多于 3 个,否则它将不起作用;
    • 在文件中设置 module.exports 不会影响 CodeEval。

    【讨论】:

      猜你喜欢
      • 2012-07-16
      • 1970-01-01
      • 2019-05-24
      • 1970-01-01
      • 2014-11-25
      • 2012-02-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多