python - RobotFramework 中的长寿对象
问题描述
我有兴趣在具有会话范围的 pytest 夹具中实现某种类似的行为:
class MyClass:
def __init___(self):
self.actions = []
@fixture(scope='session')
def live_during_session():
return MyClass()
def test_1(live_during_session):
live_during_session.actions.append('test_1')
def test_2(live_during_session):
live_during_session.actions.append('test_2')
print(live_during_session.actions) # [test_1, test_2]
我希望有一个可用于整个会话或套件运行的长期实例。
有什么解决办法吗?
解决方案
您可以添加ROBOT_LIBRARY_SCOPE = 'SUITE'这样只会为测试套件创建一个库实例。对每个测试都有实例
class ExampleLibrary:
ROBOT_LIBRARY_SCOPE = 'SUITE'
def __init__(self):
self._counter = 0
def count(self):
self._counter += 1
print(self._counter)
def clear_counter(self):
self._counter = 0
您可以在此处阅读有关库范围的信息
推荐阅读
- python - 根据命令行参数运行 pytest 标记
- android - 无法将 Android AAR(带有 JNI 绑定)与 Jitpack 上的源关联
- excel - 如何使用 VBA 进行 Excel 循环
- ubuntu - 如何在 .awk 脚本中编写多个命令?
- php - 如何在 PHP 中为 SQLite3 启用预写日志?
- javascript - Bcrypt比较问题nodejs
- reactjs - 来自下一个/图像的 400 错误请求
- python - 命令“where python”在 PowerShell 中不返回任何内容
- mysql - mysql为nextjs项目创建连接或池
- networking - Http 80 端口未打开但 8080 端口已打开且网站未打开