feat(utils): add global test runner and helper help
This commit is contained in:
41
README.md
41
README.md
@@ -45,6 +45,8 @@ chmod +x utils/leetcode_helper.sh
|
||||
# 範例
|
||||
./utils/leetcode_helper.sh problem 1 two-sum Easy
|
||||
./utils/leetcode_helper.sh problem 3000 maximum-area-rectangle Medium
|
||||
# 顯示說明:
|
||||
./utils/leetcode_helper.sh --help
|
||||
```
|
||||
|
||||
建立完成後的結構(示意):
|
||||
@@ -62,8 +64,7 @@ problems/NNNN-name/
|
||||
├── SolutionTests.cs # xUnit 測試
|
||||
├── TestProject.csproj
|
||||
├── main_test.go # Go testing
|
||||
├── edge_cases.md
|
||||
└── run_tests.sh # 一鍵執行 C# 與 Go 測試
|
||||
└── edge_cases.md
|
||||
```
|
||||
|
||||
- 建立月度日誌(依模板生成 `logs/YYYY-MM.md`)
|
||||
@@ -97,8 +98,16 @@ go run main.go
|
||||
- 執行該題的測試(同時跑 C# 與 Go):
|
||||
|
||||
```
|
||||
cd problems/NNNN-name/test
|
||||
./run_tests.sh
|
||||
./utils/run_tests.sh NNNN-name [all|csharp|go]
|
||||
# 也可只給題號:
|
||||
./utils/run_tests.sh 3025
|
||||
# 僅跑 C# 或 Go:
|
||||
./utils/run_tests.sh 3025 csharp
|
||||
./utils/run_tests.sh 3025 go
|
||||
# 顯示說明:
|
||||
./utils/run_tests.sh --help
|
||||
# 列出目前可用題目:
|
||||
./utils/run_tests.sh --list
|
||||
```
|
||||
|
||||
或分別執行:
|
||||
@@ -116,7 +125,7 @@ go test -v
|
||||
- problem:根據輸入的題號、名稱與難度,建立一個完整題目骨架
|
||||
- 產生題目 `README.md`(含題目資訊、思路、測試與筆記段落)
|
||||
- 建立 `csharp/` 與 `go/` 目錄及基本程式碼
|
||||
- 建立 `test/` 目錄,內含 xUnit、Go 測試模板與 `run_tests.sh`
|
||||
- 建立 `test/` 目錄,內含 xUnit、Go 測試模板(統一用 `utils/run_tests.sh` 執行)
|
||||
- 初始化 Go module(`go.mod`)
|
||||
- readme:掃描 `problems/` 題目數量,輸出簡單統計到終端(可再擴充寫回本檔)
|
||||
- log:依 `templates/logs-template.md.tmpl` 生成月誌雛形,方便每日記錄與月度回顧
|
||||
@@ -234,6 +243,28 @@ func TestFindClosest(t *testing.T) {
|
||||
- 月誌:`templates/logs-template.md.tmpl`
|
||||
不需修改腳本本身即可客製化模板。
|
||||
|
||||
## 工具清單
|
||||
|
||||
- `utils/leetcode_helper.sh`: 管理題目與月誌
|
||||
- 功能:
|
||||
- `problem <題號> <題目名稱-kebab> <難度>`:建立新題目(產生 `README.md`、`csharp/`、`go/`、`test/` 骨架)
|
||||
- `log [YYYY-MM]`:建立月度學習日誌(預設本月)
|
||||
- `readme`:顯示題目數量統計
|
||||
- `-h|--help`:顯示說明
|
||||
- 範例:
|
||||
- `./utils/leetcode_helper.sh problem 3025 find-the-number-of-ways-to-place-people-i Medium`
|
||||
- `./utils/leetcode_helper.sh log 2025-09`
|
||||
- `./utils/leetcode_helper.sh --help`
|
||||
|
||||
- `utils/run_tests.sh`: 執行指定題目的測試
|
||||
- 語法:`./utils/run_tests.sh <problem> [all|csharp|go]`
|
||||
- <problem> 可為:題號(如 `3025`)/ 目錄名(如 `3025-find-…`)/ 完整路徑(如 `problems/3025-…`)
|
||||
- 參數:`--help` 顯示說明、`--list` 列出現有題目
|
||||
- 範例:
|
||||
- `./utils/run_tests.sh 3025`(同時跑 C# 與 Go)
|
||||
- `./utils/run_tests.sh 3025 csharp`(只跑 C#)
|
||||
- `./utils/run_tests.sh --list`
|
||||
|
||||
## 未來可擴充方向
|
||||
|
||||
- 主 README 自動彙整各題狀態(難度、語言、連結、完成度)
|
||||
|
Reference in New Issue
Block a user