testingfix-unit-tests
Refactor unit test files by aligning strings, renaming methods, and factoring out common test code
ソース情報
- リポジトリ
- causify-ai/helpers
- ソースの最終更新活動
- 2026年3月18日 15:30
- 検出された SKILL.md の言語
- 英語
- スター
- 146
- フォーク
- 162
インストール方法
デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。
ソースファイルを確認
インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。
SKILL.md を表示中
SKILL.md
ソースの指示 · 読み取り専用プレビュー- name
- testing.fix_unit_tests
- description
- Refactor unit test files by aligning strings, renaming methods, and factoring out common test code
- When I pass you a test file apply the following transformations to the code,
making sure that there is no change in behavior.
## Align Strings to the Code
- Instead of this
```python
def hello()
...
content = """<start:file1.txt>
Content for file1
<start:file2.txt>
Content for file2
"""
```
align the content of the string to the rest of the code
```python
def hello()
...
content = """
<start:file1.txt>
Content for file1
<start:file2.txt>
Content for file2
"""
content = hprint.dedent(content)
```
## Rename the Test Methods as `test1`, `test2`, ...
## Factor Out Common Coded
- Aggressively factor out common code in helper code so that each test method
sets the inputs and the expected value and then calls the helper function with
the common code
- Instead of:
```python
def test_first_line(self) -> None:
"""
Test position in first line returns line 1.
"""
# Prepare inputs.
content = "Line 1\nLine 2\nLine 3"
position = 3
# Run test.
actual = dshctsifi._get_line_number(content, position)
# Check outputs.
expected = 1
self.assertEqual(actual, expected)
def test_second_line(self) -> None:
"""
Test position in second line returns line 2.
"""
# Prepare inputs.
content = "Line 1\nLine 2\nLine 3"
position = 10
# Run test.
actual = dshctsifi._get_line_number(content, position)
# Check outputs.
expected = 2
self.assertEqual(actual, expected)
```
- Do
```python
def helper(self, content: str, position: int, expected: int) -> None:
# Run test.
actual = dshctsifi._get_line_number(content, position)
# Check outputs.
self.assertEqual(actual, expected)
def test1(self) -> None:
"""
Test position in first line returns line 1.
"""
# Prepare inputs.
content = "Line 1\nLine 2\nLine 3"
position = 3
expected = 1
# Run test.
self.helper(content, position, expected)
def test2(self) -> None:
"""
Test position in second line returns line 2.
"""
# Prepare inputs.
content = "Line 1\nLine 2\nLine 3"
position = 10
expected = 2
# Run test.
self.helper(content, position, expected)
```
## Avoid Replicated Assignment
- If a variable `var` and `expected` need to always be the same (e.g., to show
that a variable doesn't change), instead of replicating the assignment, do an
assignment
```python
expected = var
```
- **Bad**
```python
def test2(self) -> None:
"""
Test indented code block with correct indentation.
"""
# Prepare inputs.
txt = """
- Delete unused reference files
```bash
> rm Dockerfile.ubuntu
```
"""
# Expected: no changes needed.
expected = """
- Delete unused reference files
```bash
> rm Dockerfile.ubuntu
```
"""
# Run test.
self.helper(txt, expected)
```
- **Good**
```python
def test2(self) -> None:
"""
Test indented code block with correct indentation.
"""
# Prepare inputs.
txt = """
- Delete unused reference files
```bash
> rm Dockerfile.ubuntu
```
"""
# Expected: no changes needed.
expected = txt
# Run test.
self.helper(txt, expected)
```
# Important
- For all the code you must follow the instructions in
@.claude/skills/coding.format_rules/SKILL.md
GitHubで見る