Q1:什么是TDD?
核心理念:测试驱动开发。先写测试用例,编写测试代码,然后开发人员实现功能代码。TDD不是一门技术,而是一种开发理念。
Q2:举个栗子
根据TDD中测试先行的原则,基于Python设计测试用例:
用户输入空字符串或者null,具体代码。
import unittest
def process_user_input(user_input):
if user_input is None or user_input == "":
return "Invalid input"
# 在这里继续处理有效输入的逻辑
return "Processing input: " + user_input
class TestUserInput(unittest.TestCase):
def test_empty_string_input(self):
result = process_user_input("")
self.assertEqual(result, "Invalid input")
def test_null_input(self):
result = process_user_input(None)
self.assertEqual(result, "Invalid input")
if __name__ == '__main__':
unittest.main()
首先,创建了一个名为 TestUserInput
的测试类,其中包含两个测试方法:
test_empty_string_input
:测试用户输入为空字符串的情况。test_null_input
:测试用户输入为None
的情况。
在这个测试用例中,我们假设有一个 process_user_input
函数用于处理用户输入,但该函数的实现尚未完成。这两个测试用例旨在验证当用户输入为空字符串或 None
时,process_user_input
函数是否返回"Invalid input"。
然后,实现 process_user_input
函数,确保它能够通过这两个测试用例。