2017-07-03 13 views
0

私は実用的な実装を書くために用意されたスケルトンに取り組んでいます。アサーションテスト平均のため

スケルトンの機能を使用しないでください。実装が動作するかどうかをテストします。あなたのテストで表示されるa)のカテゴリ推論


: -

具体的に、私はそれをテストする場合は、理由の、ちょうど[ファイル名を指定して実行]ボタンを押すと、あなたのコードが動作することを説得力のある証拠を見ることができるはずです b)に言って、コンソールログに出力の行(複数可)それらのテストから来る「合格」

これまでのところ、ここに私のコードです:

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'); 

I午前何すべてのアイデア行方不明?これはすべて正しいですか?

答えて

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); 
}