簡單易用的leetcode開發測試工具(npm)

描述

最近在用es6解leetcode,當問題比較複雜時,有可能修正了新的錯誤,卻影響了前面的流程。要用能用的測試工具,卻又有殺雞用牛刀的感覺,所以就寫了個簡單易用的leetcode開發測試工具,分享與大家。

工具安裝

npm i leetcode_test

使用示例

codes:

let test = require('leetcode_test').test

var twoSum = function(nums, target) {
    if (nums.length < 2)
        return null
    for (let i = 0; i < nums.length; i++) {
        let ele1 = nums[i]
        let ele2index  = nums.indexOf(target - ele1)
        if(ele2index > -1 && ele2index !== i)
            return [i, ele2index]
    }
    return null
};

let cases = [
    [[[2, 7, 11, 15], 91], [0, 1]],
    [[[2, 7, 11, 15], 9], [0, 1]],
]

test(twoSum, cases)
測試用例編寫說明

leetcode要測試的都是函數,參數個數不定,但返回值是一個。因此,我設計用例的輸入形式爲一個用例就是一個兩個元素的數組,第一個元素是一個數組:對應輸入參數;第二個元素是一個值。
上面例子的輸入參數是([2, 7, 11, 15], 91),第一個參數是數組,第二個參數是數值;返回值是一個數組([0, 1])。 如果要測試的函數的輸入參數就是一個數組,要注意輸入形式,比如,求[1,2,3,4]平均值,要這樣輸入測試用例: [[[1,2,3,4]],2.5]

out:

test [1] fail, Input: [2,7,11,15], 91; Expected: [0,1]; Output: null
index.js:20
test [2] success, Input: [2,7,11,15], 9; Expected: [0,1]; Output: [0,1]
index.js:18
Result: test 2 cases, success: 1, fail: 1
index.js:28
running 4 ms

項目地址

工具地址:https://github.com/zhoutk/lee...
解答地址:https://github.com/zhoutk/lee...

最近一直在用,已經把輸出的樣子調得還能看過眼了,答案對比算法,也改進了。遇到問題,我會持續改進,大家遇到問題也可提bug給我,我會盡快處理。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章