RobotFramework 中的长寿对象
Long living object in 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' 这样只会为测试套件创建库的一个实例。 Insted 每个测试都有实例
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
您可以阅读有关库范围的内容here
我有兴趣在具有会话范围的 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' 这样只会为测试套件创建库的一个实例。 Insted 每个测试都有实例
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
您可以阅读有关库范围的内容here