Skip to main content

testingfix-unit-tests

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

معلومات المصدر

المستودع
causify-ai/helpers
آخر نشاط في المصدر
١٨ مارس ٢٠٢٦ في ١٥:٣٠
لغة SKILL.md المكتشفة
الإنجليزية
النجوم
١٤٦
التفرعات
١٦١

خيارات التثبيت

يُحدَّد 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