问题标签 [database-testing]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
phpunit - 如何在 ZF3 应用程序的功能 PHPUnit 测试中关闭数据库连接并减少它们的数量?
几年前,我已经在 StackOverflow 上提出了一个非常相似甚至几乎相同的问题。我得到了非常详细的答案,但它们并没有解决我的问题。现在,问题变得更大,我在这里开始第二次尝试解决这个问题。由于代码已更改,我不想更新原始问题。这将是一个太大的更新,答案可能与新版本的问题不匹配。所以我将它制定为一个新的:
我正在使用 Zend Framework 3 应用程序编写功能测试
- zendframework/zend-test
3.2.2
, - phpunit/phpunit
6.5.14
和 - phpunit/dbunit
3.0.3
大多数测试是一种控制器测试。Zend\Test\PHPUnit\Controller\AbstractControllerTestCase#dispatch(...)
测试代码通过使用并分析 1. 响应/输出数据和 2. 数据库中的更改(如果它是像“create foo”这样的写入调用)来调用 URI / 操作,例如:
对于每一个测试,数据库都会重置。
问题是,数据库连接的数量在不断增长——随着每次下一次测试。目前有大约350
( SHOW GLOBAL STATUS LIKE 'max_used_connections';
) 个连接用于102
测试。(作为一种解决方法,我必须max_connections
越来越多地增加 MySQL。)
$this->dbAdapter->getDriver()->getConnection()->disconnect();
我试图通过将类似或/和$this->entityManager->getConnection()->close();
之类的逻辑放在tearDown()
我的超类的控制器测试中来减少连接数。这样我的连接数减少了大约90
. 但是大多数连接仍然没有被杀死。
如何在 ZF3 应用程序的功能/控制器 PHPUnit 测试中关闭数据库连接并显着减少同时打开的连接数?
附加信息:我的代码中最相关的部分
AbstractControllerTest
DatabaseConnectionTrait
DatabaseInitializer
Bootstrap
python - 如何在 Windows 中使用 SQLAlchemy 对 Postgres 执行单元测试?
我正在开发一个用于 API 的 Flask 应用程序,并创建了一些 Flask-SQLAlchemy 模型。我编写了一个函数,该函数使用 Flask-SQLAlchemy 将字典列表作为行插入到 Postgres 数据库模型表中。
当我点击调用插入函数的 API 时,它会将数据插入主 Postgres 数据库。现在我正在为插入功能编写测试用例。但我不想将数据插入到我的主 Postgres 数据库中。
相反,我想将数据插入临时的虚拟 Postgres DB,并使用我拥有的模型创建表并将行插入这些表中。
我已经通过测试 postgres db python和Python 单元测试:如何对包含数据库操作的模块进行单元测试?还。它没有多大帮助。有没有其他方法可以使用 Python、Flask-SQLAlchemy 对虚拟 Postgres DB 进行单元测试?
junit5 - 数据库骑手。从特定表中排除列
我预期的数据集包含几个表。是否可以从特定表中排除列?
java - 使用 MySQL 数据库进行 Java Spring Boot 测试
我在 Spring Boot 中对此 CRUD 操作的测试继续失败,出现“java.util.NoSuchElementException: No Value Present” 我知道 testCreateDemographic 正在创建记录,但是 testFindDemographicsById 无法找到新创建的记录,因为它是在 findById(1L) 中使用“1L”查找记录。如何获取正确的新相关记录 ID 以放置在 findById() 参数中?
以下是我的错误:
robotframework - 如何在python中将SQL查询的结果存储为字符串
我在 python 中使用机器人框架,我在下面的查询中运行:
它给了我以下结果:
如何将上述结果转换为字符串?
php - 如何在 Laravel 工厂中定义 belongsTo 关系?
我有一个帖子、用户和国家模型。
一个 Post belongsTo 作为 User 。一个用户属于一个国家。
有没有办法在 post factory 之后调用 User 和 Country 工厂?
有点像
->save()不适用于belongsTo。
使用拉拉夫 7.2
sqlite - 在 Github 操作上的内存数据库上运行 PDO SQLite 查询
我使用 PHPUnit 通过 PDO 包装器进行测试。我的一个测试是集成测试,它证明抽象层产生正确的语法,或PDOStatement
以正确的方式绑定等。为此,我使用内存中的 SQLite 数据库,并声明ext-pdo_sqlite
为我的项目的开发依赖项.
当 Github Actions 运行构建时,所有依赖项都会安装,提示pdo_sqlite
系统上存在。连接成功的事实进一步证实了这一点。但是,当我运行插入查询来设置我的数据库时,我收到以下错误:
查询如下所示:
表创建是使用 PDO 完成的,如下所示:
这仅体现在 CI 上,并且本地测试通过良好 - 即使在与 CI 相同的 PHP 版本上也是如此。
有任何想法吗?我只是在语法中遗漏了一些东西吗?会不会是 GH Actions 只有 SQLite 的虚拟实现之类的?
注意:这是一个开源项目,您可以在dhii/pdo-query#1
.
jmeter - JMeter Unable to connect AWS RDS getting error java.sql.SQLException: Cannot create PoolableConnectionFactory (Communications link failure
我必须将我的 JMeter 脚本连接到 AWS RDS 数据库。当我使用以下 JDBC 连接配置运行测试时,它显示以下错误消息:
JDBC连接配置:
JDBC 请求:
响应错误信息:
我已经在 Jmeter 的 /lib 文件夹中添加了 mysql-connector-java-8.0.25.jar 文件,但它没有帮助。