说明最近在用es6求解leetcode。当问题比较复杂时,可能会纠正新的错误,但会影响前面的流程。想用一个通用的测试工具,但是感觉杀鸡用牛刀,所以写了一个简单易用的leetcode开发测试工具分享给大家。toolinstallnpmileetcode_testusageexample1(issue010)代码:lettest=require('leetcode_test').test/***@param{string}s*@param{string}p*@return{boolean}*/varisMatch=function(s,p){if(p.length===0){返回s.长度===0}firstMath=s.length>0&&(p[0]===s[0]||p[0]==='.')if(p.length>=2&&p[1]==='*'){//后面两部分的顺序不能调换returnfirstMath&&isMatch(s.substring(1),p)||isMatch(s,p.substring(2))}else{returnfirstMath&&isMatch(s.substring(1),p.substring(1))}};letcases=[//[[[],''],],//第一个参数为空数组[['abbabaaaaaaacaa','a*.*b.a.*c*b*a*c*'],true],[['aaa','a*ac'],true],//故意写错答案以显示测试失败输出[['a','..*'],true],]test(isMatch,cases)test用例显示leetcode需要什么测试的都是函数,参数个数可变,但返回值为一个。因此,我的设计用例的输入形式是,一个用例是两个元素的数组,第一个元素是一个数组:对应输入参数;第二个元素是一个值。上面例子的输入参数是([2,7,11,15],91),第一个参数是一个数组,第二个参数是一个值;返回值是一个数组([0,1])。如果被测函数的输入参数是数组,注意输入形式,比如求[1,2,3,4]的平均值,这样输入测试用例:[[[1,2,3,4]],2.5]out:test[1]成功,输入:('abbabaaaaaaaacaa','a*.*b.a.*c*b*a*c*');预期:真实;输出:truetest[2]失败,输入:('aaa','a*ac');预期:真实;输出:falsetest[3]成功,输入:('a','..*');预期:真实;输出:trueResult:test3cases,success:2,fail:1running5msuseexample2(problem015)codes:lettest=require('leetcode_test').test/***@param{number[]}nums*@return{number[][]}*/varthreeSum=function(nums){nums=nums.sort((a,b)=>a-b);constrs=[];让我=0;while(i
