如何在 node.js 中为给定的示例数据创建测试用例?
Posted
技术标签:
【中文标题】如何在 node.js 中为给定的示例数据创建测试用例?【英文标题】:How do I create test cases for given sample data in 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挑战的链接吗? @eol hackerrank.com/contests/fullstack/challenges/testrun 链接失效了。 【参考方案1】:如果你只是想测试一堆输入,那就写一堆不同类型输入的函数调用。
例子:
processData([1, 2, 3]);
processData([4, 5, 6]);
processData([2, 2, 2]);
processData(["1", "2", "3"]);
// More tests here
如果您想自动向您的应用程序提供输入,那么robotjs 之类的内容可能会很有用。
如果您正在寻找一个完整的测试框架,那么您可以使用 mocha 和 chai。这是一个article,关于如何将它们与节点一起使用。
【讨论】:
以上是关于如何在 node.js 中为给定的示例数据创建测试用例?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Sequelize/Node JS 中为数据类型 TIME 发送数据