Skip to main content

testingfix-unit-tests

Refactor unit test files by aligning strings, renaming methods, and factoring out common test code

Datos de origen

Repositorio
causify-ai/helpers
Última actividad en el origen
18 de marzo de 2026 a las 15:30
Idioma detectado de SKILL.md
inglés
Estrellas
150
Forks
165

Opciones de instalación

De forma predeterminada está seleccionado el prompt que primero revisa el origen. Puedes cambiar a un comando directo o descargar una copia local.

Revisa los archivos de origen

Lee SKILL.md y los archivos complementarios que muestra SkillsMP antes de decidir si quieres instalarlo.

Mostrando SKILL.md

SKILL.md
Instrucciones de origen · Vista previa de solo lectura
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
Ver en GitHub