for + yield用法

B站影视 内地电影 2025-10-22 22:56 1

摘要:def generate_test_data: test_users = [ {"username": "user1", "password": "pass1"}, {"username": "user2", "password": "pass2"}, {"u

def generate_test_data: test_users = [ {"username": "user1", "password": "pass1"}, {"username": "user2", "password": "pass2"}, {"username": "user3", "password": "pass3"}, ] for user in test_users: # 这里可以添加一些动态修改数据的逻辑 yield user# 在测试用例中使用def test_login: for user in generate_test_data: # 模拟登录操作,使用每一组数据 print(f"Testing login with {user}") # 调用登录函数,并断言 # assert login(user['username'], user['password']) == True输出结果:Testing login with {'username': 'user1', 'password': 'pass1'}Testing login with {'username': 'user2', 'password': 'pass2'}Testing login with {'username': 'user3', 'password': 'pass3'}PASSED

或者使用next方法逐个调用

def generate_test_data: test_users = [ {"username": "user1", "password": "pass1"}, {"username": "user2", "password": "pass2"}, {"username": "user3", "password": "pass3"}, ] for user in test_users: # 这里可以添加一些动态修改数据的逻辑 yield user输出结果:{'username': 'user1', 'password': 'pass1'}{'username': 'user2', 'password': 'pass2'}{'username': 'user3', 'password': 'pass3'}Traceback (most recent call last): File "D:\PythonProject\Python_practise2025\pytest_demo01\debug.py", line 27, inprint(users.__next__) ~~~~~~~~~~~~~~^^StopIteration

来源:菜鸟英语课代表

相关推荐