抽出日期计算纯函数模块,并搭建后端测试基建
- 新增 server/src/occurrence.js:startOfDay/getNextOccurrence/daysBetween,today 可注入 - reminder.js 改为调用新模块,删除内联的 getThisYearDate/daysBetween - 引入 node:test 作为测试框架,加 npm test 脚本 - 新增 test/helper.js(临时库辅助,供后续任务用)和 test/occurrence.test.js(7 个用例,覆盖农历跨年等边界)
This commit is contained in:
@@ -0,0 +1,13 @@
|
||||
const fs = require('fs')
|
||||
const os = require('os')
|
||||
const path = require('path')
|
||||
|
||||
// 把 DB_PATH 指向临时目录,避免测试碰到真实库。
|
||||
// 必须在 require('../src/db') 之前调用,因为 db.js 在 require 时就读取 DB_PATH。
|
||||
function useTempDb() {
|
||||
const dir = fs.mkdtempSync(path.join(os.tmpdir(), 'bday-test-'))
|
||||
process.env.DB_PATH = path.join(dir, 'test.db')
|
||||
return dir
|
||||
}
|
||||
|
||||
module.exports = { useTempDb }
|
||||
Reference in New Issue
Block a user