TDD スイートでうるう年のアルゴリズムを作成しようとしています。これは、TDD を実際に使用する最初の試みです。
これは仕様ファイルのコードです。
var Year = require('./leap');
describe('Leap year', function() {
it('is not very common', function() {
var year = new Year(2015);
expect(year.isLeap()).toBe(false);
});
it('is introduced every 4 years to adjust about a day', function() {
var year = new Year(2016);
expect(year.isLeap()).toBe(true);
});
it('is skipped every 100 years to remove an extra day', function() {
var year = new Year(1900);
expect(year.isLeap()).toBe(false);
});
it('is reintroduced every 400 years to adjust another day', function() {
var year = new Year(2000);
expect(year.isLeap()).toBe(true);
});
これは、leap.js ファイルからこれまでのコードです
var leapYear = function() {};
leapYear.prototype.isLeap = function(year) {
if (year % 4 != 0) {
return true;
}
}
module.exports = leapYear;
私は得続けます:
失敗:
1) うるう年はあまり一般的ではありません メッセージ: true が false であることが期待されます。スタックトレース: エラー: true が false であると予想されます。ヌルで。
2) うるう年は 100 年ごとにスキップされ、余分な日が削除されます メッセージ: true が false であることが期待されます。スタックトレース: エラー: true が false であると予想されます。ヌルで。
0.014 秒で完了 4 つのテスト、4 つのアサーション、2 つの失敗、0 つのスキップ
何か案は?