2017-07-03 112 views
0

我正在研究一個用於編寫工作實現的框架。斷言測試的平均水平

我不能在骨架中留下任何未使用的功能。測試實施是否有效。

特別 - 如果我測試了一下,應該可以只按[運行]按鈕,看到令人信服的證據,你的代碼的工作,因爲:

一)通過你的測試
顯示的分類推理 二)在控制檯日誌中說輸出線(S)「通過」從這些測試來

到目前爲止,這裏是我的代碼:

function assertEqual(actual, expected, testName) { 
if(actual !== expected){ 
    console.error("FAIL [" + testName + "] Expected \"" + expected + ", \" but got \"" + actual + "\""); 
    } else { 
    console.info("SUCCESS [" + testName + "]"); 
    } 
} 


var numbers = [1, 3, 5]; 

function average(numbers) { 
    // process array of numbers 
    numbers.reduce(function(total, item){ 
    return total + item/numbers.length - 1; 
    }, 0); 
} 

function sum(numbers) { 
    numbers.reduce(function(total, item){ 
    return total + item; 
    }, 0); 
} 



var avg = average(numbers); 
console.log(avg); 

var total = sum(numbers); 
console.log(total); 


assertEqual(avg, 4, 'it doubles 2 to 4'); 
assertEqual(sum, 4, 'it doubles 2 to 4'); 

任何想法,我是什麼 失蹤?這一切都正確嗎?

回答

1

你的函數不返回任何值,只需添加像這樣return語句:

function average(numbers) { 
// process array of numbers 
    return numbers.reduce(function(total, item){ 
    return total + item/numbers.length - 1; 
    }, 0); 
} 


function sum(numbers) { 
    return numbers.reduce(function(total, item){ 
    return total + item; 
    }, 0); 
}