2016-10-31 5 views
0

私はそのクラスのプロパティ配列といくつかの機能を持っています。私はこのクラスのモカ・テストを作成し、私は削除機能のパラメータが負の数またはより大きい場合、エラーをスローしたいモカはエラーを投げません

class SortedList { 
 
    constructor() { 
 
     this.list = []; 
 
    } 
 

 
    add(element) { 
 
     this.list.push(element); 
 
     this.sort(); 
 
    } 
 

 
    remove(index) { 
 
     this.vrfyRange(index); 
 
     this.list.splice(index, 1); 
 
    }

:クラスは、特定のインデックスの数を削除する方法を削除しています配列のサイズ 問題は、エラーメッセージが表示されないことです。私は、次のことを試してください。

it('check for incorrect input', function() { 
 
      sorted.add(2); 
 
      sorted.add(3); 
 

 
      expect(sorted.remove(-1)).to.throw(Error('Index was outside the bounds of the collection.')) 
 
     });
誰かがこれで私を助けることができますか?

+0

あなたのコードでは、明示的に例外をスローしませんので、私はあなたの主張が通ることを期待しないでしょう。実行時ではなくエラーをスローする場合は、tryブロック内のremove()の中にコードをラップします。 – kinakuta

+0

try-catchの仕事は大丈夫です、ありがとうございます。 –

答えて

0

ラムダにエラーをスローする関数と、スローする関数の2番目の引数としてエラーメッセージを渡します。

it('check for incorrect input', function() { 
 
    list.add(2); 
 
    list.add(3); 
 

 
    expect(() => list.remove(-1)).to.throw(Error, 'Index was outside the bounds of the collection.') 
 
});

関連する問題