都有返值有啥区别?

共同点

  • return和yield都可以返回值

区别

  • yield返回值后,后面的代码还会继续运行
  • return返回值后,后面的代码不会继续运行
# -*- coding: utf-8 -*-
# @Author : 码上开始

import pytest

@pytest.fixture()
def openbrower():
print("打开浏览器")
yield "返回浏览器"
print("关闭浏览器")

def test01(openbrower):
print(openbrower)

运行结果

  • 证明yield后面的代码仍执行了
testcase.py::test01 打开浏览器
# 返回值
返回浏览器
PASSED关闭浏览器

如果对软件测试、接口测试、自动化测试、持续集成、面试经验。感兴趣可以进到893694563,群内会有不定期的分享测试资料。还会有技术大牛,业内同行一起交流技术