aRustyDev / aRustyDev/pre-commit-hooks
test: Add comprehensive test coverage for all hooks
- Ngôn ngữ chính
- Python
- Star
- 5
- Fork
- 3
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Mô tả
## Overview
Extend the bats testing framework to provide comprehensive test coverage for all 26 hook scripts.
## Current State
- Testing framework established with bats
- Sample tests created for:
- `hooks/commits/gitlint.sh`
- `hooks/nix/nix-fmt.sh`
- Test helper utilities available
- CI integration configured
## Requirements
### Test Coverage Goals
- [ ] 100% of hooks have at least basic tests
- [ ] 80%+ code coverage across all hooks
- [ ] Edge cases and error conditions tested
- [ ] Multi-platform compatibility verified
### Hooks Needing Tests
#### Commits
- [ ] commitizen.sh
- [ ] commitlint.sh
- [x] gitlint.sh ✅
#### Nix
- [ ] attestation.nix
- [ ] nix-build-check.sh
- [ ] nix-build.sh
- [ ] nix-darwin-check.sh
- [ ] nix-flake-check.sh
- [x] nix-fmt.sh ✅
- [ ] nix-home-manager-check.sh
- [ ] nix-lint.sh
- [ ] publish-to-nixpkgs.sh
#### CI
- [ ] github.sh
- [ ] gitlint.sh
#### Configs
- [ ] yamlfmt.sh
#### Terraform
- [ ] pluralith.sh
- [ ] tfupdate.sh
#### Web
- [ ] css/csslint.sh
- [ ] js/eslint.sh
- [ ] js/fixmyjs.sh
- [ ] js/jshint.sh
- [ ] scss/scss-lint.sh
#### Other
- [ ] backup-nixos.sh
- [ ] update-vm.sh
- [ ] witness.sh
- [ ] pluralith.sh (root)
## Test Structure
Each test file should include:
1. Existence and executability check
2. Missing dependency handling
3. Success case validation
4. Failure case validation
5. Edge case handling (empty input, malformed data, etc.)
## Deliverables
- [ ] Complete test suite for all hooks
- [ ] Test documentation updates
- [ ] CI passing with all tests
- [ ] Coverage report generation
- [ ] Performance benchmarks
## Success Criteria
- All hooks have corresponding test files
- Tests run successfully on Ubuntu and macOS
- Code coverage >80%
- All tests pass in CI
- Clear documentation for adding new tests
## Related
- #26 - CI/CD pipeline implementation
- #22 - Nix hooks test suite
Hướng dẫn đóng góp
Hướng nghiên cứu
Bắt đầu bằng cách đọc các test hiện có cho hooks/commits/gitlint.sh và hooks/nix/nix-fmt.sh, sau đó kiểm tra các tiện ích hỗ trợ test hiện có và chạy suite hiện tại. Thêm các test tương ứng cho những hook còn lại được liệt kê, bao quát sự tồn tại, các dependency, thành công, thất bại và các trường hợp biên. Công việc được xem là hoàn tất khi tất cả hook đều được test, CI trên Ubuntu và macOS chạy thành công, độ bao phủ vượt quá 80%, đồng thời tài liệu test và báo cáo độ bao phủ được cập nhật.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- shell
- Lĩnh vực
- testing
- Loại issue
- Tính năng
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Khá rõ ràng
- Mức phù hợp với người mới
- 35/100