pytest中有没有一种优雅的方法可以通过python处理oracle连接?
我在一个项目中,需要从oracle数据库获取数据。 源代码通过cx_Oracle到达数据库。 现在我想找到一种方法来制作连接夹具。 有没有一种优雅的方法来制作这样的固定装置? 或者有人可以推荐一个用于Oracle连接的pytest插件吗pytest中有没有一种优雅的方法可以通过python处理oracle连接?,python,oracle,pytest,fixtures,cx-oracle,Python,Oracle,Pytest,Fixtures,Cx Oracle,我在一个项目中,需要从oracle数据库获取数据。 源代码通过cx_Oracle到达数据库。 现在我想找到一种方法来制作连接夹具。 有没有一种优雅的方法来制作这样的固定装置? 或者有人可以推荐一个用于Oracle连接的pytest插件吗 提前感谢。您可以使用SQLAlchemy进行此操作。只需将连接字符串插入create_引擎字符串,并为连接(和会话)创建一个固定装置,如下所示: engine = create_engine('your connection string goes here w
提前感谢。您可以使用SQLAlchemy进行此操作。只需将连接字符串插入create_引擎字符串,并为连接(和会话)创建一个固定装置,如下所示:
engine = create_engine('your connection string goes here with your login creds')
@pytest.fixture(scope='module')
def connection():
connection = engine.connect()
yield connection
connection.close()
engine = create_engine("oracle+cx_oracle://<username>:<password>@(DESCRIPTION = (LOAD_BALANCE=on) (FAILOVER=ON) (ADDRESS = (PROTOCOL = TCP)(HOST = <host>)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = devdb)))")
您可以在以下SQLAlchemy文档中阅读有关cx\U Oracle连接引擎的更多信息:
您的创建引擎可能如下所示:
engine = create_engine('your connection string goes here with your login creds')
@pytest.fixture(scope='module')
def connection():
connection = engine.connect()
yield connection
connection.close()
engine = create_engine("oracle+cx_oracle://<username>:<password>@(DESCRIPTION = (LOAD_BALANCE=on) (FAILOVER=ON) (ADDRESS = (PROTOCOL = TCP)(HOST = <host>)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = devdb)))")
engine=create_engine(“oracle+cx_oracle://:@(DESCRIPTION=(LOAD_BALANCE=on)(FAILOVER=on)(ADDRESS=(PROTOCOL=TCP)(HOST=)(PORT=1521))(CONNECT_DATA=(SERVER=专用)(SERVICE_NAME=devdb)))
这是从中提取的,你能提供更多关于你在寻找什么的细节吗?@AnthonyTuininga,谢谢你的回复。我正在寻找一个pytest插件,它是为Oracle dababase编写的,就像pytest-mysql一样。我们有一个测试套件(基于unittest),但还没有基于pytest的。如果您能让我们知道使用pytest(相对于unittest)的优势,请在cx_Oracle问题页面上告诉我们,并在那里提出增强请求。非常感谢,我得到了一个使用pytest的项目。也许我应该为这个项目写一封信。捐款总是被感激地接受的。:-)