2017-02-20 4 views
0

私はすべてのデータ構造を作成しています。私は5つのテストを実行しています。私は確かに、最初は長さがnullにゼロと上の点であるが、プッシュをテストすることコンストラクタをテストした.....私は私のオブジェクトを互いに照らし合わせてどのようにテストすべきですか?

var stack = new Stack() 
var testStack = new Stack() 
stack.push(22) 
testStack.push(22) 

が、その後、彼らは両方とも深く等しい主張行くべき?

スタックが{Stack:top = Node ... etc}と同じかどうかをアサートする手動で行う必要があることを書き留めますか?

+0

このテストは何ですか?あなたはそれを2回呼び出すと同じコードが同じことをするのですか?関数が何をしているかによって、おそらく良いテストになるかもしれませんが、それほど価値はありません。すべての単体テストは、テスト対象のコードが必要とすることをテストする必要があります。換言すれば、 'push 'のテストは、プッシュされた値がデータ構造内にあることをテストすべきである。私はあなたの 'プッシュ'メソッドが何をしているのか分からないので、それはすべて私が言うことができます。 –

+0

だからassert(stack.top.data、22) – RubyisWeird

+0

私は今、問題は、javascriptで私は、操作の後にスタックの前後の長さの値をテストしようとしているが、スタック操作が動作しても – RubyisWeird

答えて

0

あなたが構築している構造を単体テストするためのオンラインリサーチをお勧めします。たとえば、スタックをテストするためのヒントを次に示します。

  • 空のスタックを作成します。サイズが0であることをテストする。
  • 要素をスタックにプッシュする。サイズが1になったことをテストします。
  • スタックに別の要素を押し込みます。サイズが2になったことをテストします。
  • スタックから要素をポップします。 2番目のプッシュされた の値と一致することをテストします。スタックのサイズが1になっていることを確認してください。
  • スタックから要素をポップします。最初にプッシュされた の値と一致することをテストします。スタックのサイズが0であることを確認してください。
  • スタックから空になった要素をポップしようとします。 [わからないあなたは、このような状況で行うことを期待するもの 。]

これはtaken from hereだったが、わかります他の多くのサイトがあります。

+0

ありがとう、私は今これをやっている。私は実際に二階に意味をなさないと言ったことを知っています – RubyisWeird

+0

良い単位テストであり、無意味であるもののために「直感」を開発するのに時間がかかります。それを保つ、それは開発するための素晴らしいスキルです! – rasmeister

関連する問題