我有一个带有4个参数的命令行应用程序,现在我正在为它们编写单元测试。由于我的函数没有任何参数,我只是对如何准确编写这些测试有一些疑问?
因此在控制台中,要运行该应用程序 test.js arg1 arg2 arg3 arg4 输出。
我可以将整个函数包装到更大的函数中并分配参数,然后以这种方式进行测试,但是有更好的方法吗?像是来自用户的虚假输入?
function test(){
arg1 = process.argv[2];
arg2 = process.argv[3];
arg3 = process.argv[4];
arg4 = process.argv[5];
console.log(arg1 + arg2 + arg3 + arg4);
}
所以我想测试任何输入是否为空?该错误应产生“需要所有4个条目”。这就是关键,我该如何编写单元测试?
答案 0 :(得分:0)
我对JavaScript不熟悉,因此以下建议可能无法完全按照所描述的方式工作。我希望在这种情况下,您可以轻松地将其“移植”到可在JavaScript中使用的类似内容...
您可能会执行以下操作:拥有一些功能validateCommandLineArgs
并将其传递给process.argv
作为参数:
function validateCommandLineArgs(argsArray){
... check if argsArray has four elements etc.
}
然后,从单元测试中,可以使用任意创建的数组调用validateCommandLineArgs
,以查找函数在不同情况下验证参数的方式是否存在错误。