69 lines
1.9 KiB
Python
69 lines
1.9 KiB
Python
![]() |
# ruff: noqa: E501
|
|||
|
# Don not limit the length of each line of the prompts.
|
|||
|
|
|||
|
|
|||
|
PROPOSE_TEST_PROMPT = """
|
|||
|
你是一位智能测试用例生成助手。
|
|||
|
给定一个用户提示和一个目标函数,请根据提示为目标函数生成测试用例。
|
|||
|
|
|||
|
用户提示如下:
|
|||
|
|
|||
|
{user_prompt}
|
|||
|
|
|||
|
目标函数是 `{function_name}`, 该函数所在的文件是 {file_path}。
|
|||
|
|
|||
|
以下是与该函数相关的源代码:
|
|||
|
|
|||
|
{relevant_content}
|
|||
|
|
|||
|
请为每个测试用例提供一句话的描述,描述该测试用例所测试的行为。
|
|||
|
你不需要用代码编写测试用例,只需用普通的自然语言描述即可。
|
|||
|
最多生成 6 个测试用例。
|
|||
|
|
|||
|
请按照以下JSON格式回复:
|
|||
|
{{
|
|||
|
"test_cases": [
|
|||
|
{{"description": "<测试用例1的自然语言描述>"}},
|
|||
|
{{"description": "<测试用例2的自然语言描述>"}},
|
|||
|
]
|
|||
|
}}
|
|||
|
"""
|
|||
|
|
|||
|
|
|||
|
FIND_REFERENCE_PROMPT = """
|
|||
|
请找到一个合适的参考测试文件,该文件可用于为文件 {file_path} 中的 `{function_name}` 函数编写测试提供指导。
|
|||
|
参考文件应该提供一个清晰的示例,演示测试类似性质的函数的最佳实践。
|
|||
|
"""
|
|||
|
|
|||
|
|
|||
|
WRITE_TESTS_PROMPT = """
|
|||
|
你是一位智能单元测试生成助手。
|
|||
|
给定一个目标函数、一些参考代码和一系列具体的测试用例描述,请完成单元测试的代码编写。
|
|||
|
每个测试函数都应该是独立且可执行的。
|
|||
|
|
|||
|
请确保与参考代码使用相同的测试框架、模拟对象库、断言库等,并采取相似的模拟策略、判断策略等。
|
|||
|
|
|||
|
目标函数是 `{function_name}`,该函数位于文件 {file_path}。
|
|||
|
|
|||
|
以下是与该函数相关的源代码:
|
|||
|
|
|||
|
{relevant_content}
|
|||
|
|
|||
|
{reference_content}
|
|||
|
|
|||
|
以下是测试用例列表:
|
|||
|
|
|||
|
{test_cases_str}
|
|||
|
|
|||
|
|
|||
|
请按照以下格式回复:
|
|||
|
|
|||
|
测试用例 1. <测试用例1的原始描述>
|
|||
|
|
|||
|
<测试用例1对应的测试函数代码>
|
|||
|
|
|||
|
测试用例 2. <测试用例2的原始描述>
|
|||
|
|
|||
|
<测试用例2对应的测试函数代码>
|
|||
|
"""
|