コード:
var buster = require('buster'),
NumberCruncher = require('../src/NumberCruncher');
buster.testCase('Number Cruncher', {
setUp: function() {
this.numberCruncher = new NumberCruncher();
},
tearDown: function() {
delete this.numberCruncher;
},
'constructor returns numberCruncher': function() {
assert(this.numberCruncher instanceof NumberCruncher);
},
'object constructor correct': function() {
assert.equals(this.numberCruncher.constructor, NumberCruncher);
},
'can add numbers': function() {
buster.assert.equals(this.numberCruncher.add(5,3), 8, 'NumberCruncher cannot add');
}
});
バックグラウンド:
ではsetUp
、オブジェクトを作成し、this
(テストケース) のプロパティとして設定しています。で、tearDown
上記のプロパティを削除しています。
質問:
メソッドでオブジェクトのプロパティを削除することの背後にある考えや理由を説明しなければならないとしたらtearDown
、何と答えますか? なぜこれが良いことなのですか?メリットはありますか?本当に大きなオブジェクトにスケーリングした場合にのみメリットがありますか?
私の考え:
私の推論 (これは間違っているかもしれません) は、各テストの実行後にガベージ コレクションを保証しているということです。