Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
pytest中有没有一种优雅的方法可以通过python处理oracle连接?_Python_Oracle_Pytest_Fixtures_Cx Oracle - Fatal编程技术网

pytest中有没有一种优雅的方法可以通过python处理oracle连接?

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

我在一个项目中,需要从oracle数据库获取数据。 源代码通过cx_Oracle到达数据库。 现在我想找到一种方法来制作连接夹具。 有没有一种优雅的方法来制作这样的固定装置? 或者有人可以推荐一个用于Oracle连接的pytest插件吗


提前感谢。

您可以使用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的项目。也许我应该为这个项目写一封信。捐款总是被感激地接受的。:-)