【问题标题】:How do I create test cases for given sample data in node.js?如何在 node.js 中为给定的示例数据创建测试用例?
【发布时间】:2020-10-14 22:50:03
【问题描述】:

我是donghackerrank测试。我的代码通过提供输入来提供所需的输出,但测试表明这是一个错误的答案。测试链接为https://www.hackerrank.com/contests/fullstack/challenges/testrun

输入格式

1 2 3

输出格式

2 3 7

示例输入

1 9 9

样本输出

? ? ?

解释

function processData(input) {
//Enter your code here
var number;
var main = "";
const aray = input.split(' ').map(Number)
for (var i = 0; i < aray.length; i++) {
        if (i === aray.length-1 && aray.length>1) {
            if (aray[i]*2 + 1 >= 9) {
            main += '?';
            }
            else {
            main += aray[i]*2 + 1
            }
        }
        else {
            if (aray[i+1] >= 9) {
            main += '?';
            main += ' '        
            }
            else {
            main += aray[i] + 1;
            main += ' '    

            }
        }
    }
console.log(main); 
}

process.stdin.resume();
process.stdin.setEncoding("ascii");
_input = '';
process.stdin.on("data", function (input) {
_input += input;
});

process.stdin.on("end", function () {
processData(_input);
});

如何创建测试用例?如果您知道,请指出错误。谢谢

【问题讨论】:

  • 到底是什么问题?解决方案有什么要求?
  • @eol 我的代码通过提供输入来提供所需的输出,但测试表明这是一个错误的答案。通过使用 1 2 3 的输入值,它显示 2 3 7 的输出,通过使用 1 9 9 的输入值,它显示 ? 的输出? ?.它满足要求,但结果显示它是一个错误的答案
  • 你能发一下hackerrank挑战的链接吗?
  • 链接失效了。

标签: node.js node.js-stream


【解决方案1】:

如果你只是想测试一堆输入,那就写一堆不同类型输入的函数调用。

例子:

processData([1, 2, 3]);
processData([4, 5, 6]);
processData([2, 2, 2]);
processData(["1", "2", "3"]);
// More tests here

如果您想自动向您的应用程序提供输入,那么robotjs 之类的内容可能会很有用。

如果您正在寻找一个完整的测试框架,那么您可以使用 mocha 和 chai。这是一个article,关于如何将它们与节点一起使用。

【讨论】:

    猜你喜欢
    • 2021-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多