Doctrine 的实体管理器崩溃并停止运行

2024-01-06

因此,当我在 ZF/Doctrine 应用程序上运行测试时,某些测试碰巧破坏了 Doctrine 实体管理器,并且所有顺序测试由于 EM 关闭而失败。

我在 test/bootstrap.php 中设置了 EM:

$application = new Zend_Application(
    APPLICATION_ENV,
    APPLICATION_PATH . '/configs/application.ini'
);
$application->bootstrap();
(...)
$bootstrap = $application->getBootstrap();
$em = $bootstrap->getResource('doctrinemanager');

然后我将其设置在测试 setUp() 函数中($this->_service 是正在测试的服务):

$em = App::getEntityManager();
$this->_em = clone $em;
$this->_service->setEm($this->_em);

然后,当我运行一个导致 EM 抛出异常并关闭的测试时(这对我来说是正确的行为),它在所有测试中保持关闭状态,当然由于 EM 被关闭而失败。正如您可以猜到的那样,这不是我期望的测试行为。

我尝试克隆 EM,然后将其设置到服务中,但没有成功。

有没有一种简单的方法可以使用一些教义方法来重新打开 EM?


不,据我所知,至少没有。解决这个问题的最简单方法是简单地(重新)引导您的应用程序在每个测试的设置阶段运行。所以,每次测试都会有一个新的$application实例和新鲜的、新的$em与它一起。这就是快速解决办法。

正确的解决方案可能是将您的测试与您的Zend_Application。允许您的测试使用简单的实体管理器运行,可能使用模拟连接或到内存 SQLite 数据库 https://stackoverflow.com/questions/1157996/php-sqlite-copying-a-table-from-disk-to-memory。在测试设置阶段仅创建此实体管理器,因此每个测试都会获得一个新的实体管理器。这与上面的快速修复类似,只不过现在您只专门创建一个用于测试的实体管理器,而不是为每个测试引导整个应用程序。它更精简、更简单。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Doctrine 的实体管理器崩溃并停止运行 的相关文章

  • 保存多对多关系,同步/附加不存在?

    我有以下两个多对多关系的模型 use Illuminate Database Eloquent Model class Permission extends Model The database table used by the mode
  • 从 PHP 数组生成 HTML 表

    我不明白这一点 我需要解决看似简单的问题 但这超出了我的逻辑 我需要编写一个函数 table columns input cols 它将输出一个表 示例 input array apple orange monkey potato chee
  • php curl 使用 GET 发送变量 奇怪的结果

    我正在尝试调用远程站点上页面中的网址 决定使用curl 在远程站点上 url 变量显示为 REQUEST Array var1 gt val1 amp var2 gt val2 amp var3 gt val3 被调用的url是 http
  • CodeIgniter 自定义库未加载

    我是 CodeIgniter 的新手 并尝试用它开发一个相当简单的应用程序 只是一个用于处理想要娱乐中心通行证的员工的注册的表单 我正在尝试将事物分开以使它们更清晰 这是代码 应用程序 控制器 reccenter php class Rec
  • jQuery ajax 调用包含重音字符的 url 将错误的 Uri 从 IE 发送到服务器

    我在使用 IE 发送包含重音字符的 url 时遇到问题 这是一个简单的函数 function runjQueryTest var url test Beyonc get url function 在服务器 PHP 上我记录了请求uri的值
  • PHP MongoDb 驱动程序:如何设置执行代码的超时

    我有以下代码 它在 MongoDb 端执行一段代码 mongoCode new MongoCode Some JS code db gt execute mongoCode array socketTimeoutMS gt 1000000
  • PHP:读取所有传入 HTTP 请求的类 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何从网站网址中隐藏 .html 扩展名

    我知道这个问题以前曾被问过 但有人知道隐藏 html 扩展名的好方法吗 我已经尝试了许多代码和许多答案https stackoverflow com https stackoverflow com 但我没有看到结果 那是我再问你一次 我有一
  • PDO PHP 连接,致命错误

    我的连接类 firstcode php class DB functions public db function construct try db new PDO mysql localhost dbname xxx charset ut
  • 在哪里可以获得 PHP 5.3+ 的 runkit DLL 扩展?

    这是一个简单的问题 我在哪里可以获得 PHP 5 3 版本的 runkit 扩展 它的手册 http php net manual en book runkit php http php net manual en book runkit
  • PHP 中标头的使用

    非常简单的问题 这两个 PHP 版本 5 标头调用中哪一个是 最好的 header Not Modified true 304 header HTTP 1 1 304 Not Modified 我很确定第一个是最多价的 但只是好奇如果在 H
  • Nginx 502 网关错误。通过增加buffer来解决。为什么?

    我正在设置 LEMP 堆栈来运行 Drupal 我安装了 Nginx 和 PHP FastCGI Nginx 工作正常 但任何运行 PHP 的尝试都会出现错误 502 Bad Gateway 谷歌很快发现 nginx 502 错误网关 ht
  • 使用 PHP 从 Mongo 解码 JSON

    我已经看过这个线程 PHP 解码嵌套 JSON https stackoverflow com questions 3555335 php decode nested json并没有设法用它来解决我的问题 我目前正在从 Mongo 获取 J
  • 使用PHP从doc、xls文件中读取数据

    我想知道是否可以从 doc 和 xls 文件中读取数据并将 将内容读取到图像文件中 创建文档的页面样本 例如 我有一些文件希望我的客户购买 所以我需要自动创建小图像 例如我的文档样本 我们将不胜感激您的帮助 对于读取 xls 文件 我真的推
  • PHP 检查当前日期是在设定日期之前还是之后

    我从数据库中提取一个日期 其格式为 dd mm YYYY 我想做的是检查当前日期 如果当前日期早于数据库中的日期 则需要打印数据库日期 如果是在之后 则需要打印 继续 有人能指出我正确的方向吗 if strtotime database d
  • 雄辩的第一个 where 子句

    我想知道 Laravel 如何实现雄辩的语法 以便可以静态调用第一个 where 子句User where User where id 23 gt where email email gt first 他们有吗public static f
  • PHP session_regenerate_id 和黑莓浏览器

    问候 我正在开发一个登录系统 并陷入了黑莓浏览器身份验证的困境 他们似乎对 PHP 的 session regenerate id 有问题 有人可以建议替代方案吗 以下是身份验证和登录脚本 UPDATE看来会话一般都不起作用 拿出 sess
  • PHP 拒绝从 var_dump、print 等输出数据

    我目前正在运行 WAMP 服务器 并且在过去的 30 分钟内一直在尝试弄清楚我的项目如何以及为什么不会输出任何指定的 PHP 数据 起初我以为是因为我有一个 htaccess文件的output buffering被禁用 所以我删除了它 仍然
  • 通过 htaccess 将 PNG 解析为 PHP 仅适用于本地服务器,但不适用于网络服务器

    我用 PHP 创建了一个动态 PNG 图片 为了使用 PNG 扩展名 我创建了一个包含以下内容的 htaccess 文件 AddType application x httpd php png 在我的本地 XAMPP 服务器上 一切工作正常
  • PHPUnit - 模拟 S3Client 无法正常工作

    库 aws aws sdk php 2 PHP 版本 PHP 5 4 24 cli 作曲家 json require php gt 5 3 1 aws aws sdk php 2 require dev phpunit phpunit 4

随机推荐

  • 根据值类型过滤键子列表的接口键

    Problem 给定一个被视为映射的 TypeScript 接口 将唯一键类型与非唯一值类型相关 可以提取 映射到指定值类型的键类型 作为一个具体的例子 从WindowEventMap in lib dom d ts interface W
  • 如何设置 curve_fit 的初始值以找到最佳优化,而不仅仅是局部优化?

    我正在尝试拟合幂律函数 并找到最佳拟合参数 但是 我发现如果参数的初始猜测不同 最佳拟合 输出就会不同 除非我找到正确的初始猜测 否则我可以获得最佳优化 而不是局部优化 有没有办法找到 合适的初始猜测 下面列出了我的代码 请随意提出任何意见
  • Angular 8:对象不支持属性或方法“包含”

    我正在 Angular8 中构建一个应用程序 我在 angular5 6 7 上工作 对于这些应用程序 我取消了 polyfills ts 中存在的导入的注释 对于 Angular 8 它只有 3 个导入 即 classlist js we
  • 将网站表单转换为 PDF 并通过电子邮件发送给网站管理员

    我正在尝试为我的网站创建一个表单 一旦提交 该表单将转换为 PDF 并通过电子邮件发送给我自己 网站管理员 我知道我无法纯粹使用 JQuery Javascript 来完成该操作 我需要使用 PHP 来发送电子邮件 将 HTML 转换为 P
  • 如何在更改值后在运行时保存 ScriptableObject

    我在使用 ScriptableObjects 作为 Unity 应用程序中的保存对象时遇到问题 当我尝试向其中写入值时 一切都工作得很好 但如果我想关闭应用程序并加载 ScriptableObject 的值 这些值将重置为最后的值 这破坏了
  • AVFoundation 声音可以在 iOS 6 模拟器上工作,但不能在设备上工作?

    帮助 我可以在 iOS 模拟器上播放声音 但不能在我的设备上播放声音 这是我的代码 是的 音频文件位于指定位置 它绝对有效 SystemSoundID hashtag NSString path NSBundle mainBundle pa
  • 使用 Java 读取 .jar 清单文件

    所以我试图通过检查 mainfest 文件中的一些值来查看 jar 是否有效 使用java读取和解析文件的最佳方法是什么 我想到使用这个命令来提取文件 jar xvf anyjar jar META INF MANIFEST MF 但我可以
  • 无法通过 Google Apps 脚本打开 Slack 对话框

    我正在尝试使用 google apps 脚本和 Slack 来自动化我的工作 我希望使用 Slack 对话框输入一些文本 以使用 google apps 脚本修改我的 google 电子表格 但是 使用下面的代码 我无法通过以下方式打开对话
  • 如何在 C++ 中将使用 malloc 创建的数组声明为易失性

    我认为下面会给我 10 个易失性整数 volatile int foo 10 但是 我不认为以下内容会做同样的事情 volatile int foo foo malloc sizeof int 10 如果我对此以及如何使用 malloc 拥
  • 如何在 Spark 中通过组聚合滚动时间窗口

    我有一些数据想要按某个列进行分组 然后根据组中的滚动时间窗口聚合一系列字段 以下是一些示例数据 df spark createDataFrame Row date 2016 01 01 group by group1 get avg 5 g
  • HTML 格式的 jasper 报告

    我正在将 jasper 报告库与 GWT 应用程序一起使用 CSV 格式的报告可以很好地生成 但使用 HTML 格式时 它会生成带有缺少图片的图标的 HTML 页面 我知道 jasper 使用名为 PX 的透明图像 但找不到该图像 我怎么解
  • Android 中的 SSL 客户端身份验证

    我需要编写与 Net 服务通信的Android 应用程序 我必须进行服务器 客户端身份验证 我发现了一些有用的主题 这个博客 http blog antoine li index php 2010 10 android trusting s
  • GWT HashMap 与 JSON 之间的转换

    今晚我可能会有点累 但事情是这样的 我想要 GWT HashMap 与 JSON 之间的转换 我将如何实现这一目标 换句话说 我想采取HashMap 获取其 JSON 表示形式 将其存储在某处 然后将其返回到其本机 Java 表示形式 这是
  • 为什么这个 Windows 批处理文件只执行第一行,但所有三行都在命令 shell 中执行?

    我有一个批处理文件 它依次执行三个 Maven 命令 每个命令都可以在脚本中成功执行 本身 但是 当我将所有三个命令添加到同一个文件中时 只有第一个命令在脚本退出之前执行 知道为什么吗 mvn install install file Dg
  • 在asp.net中为Excel工作表提供背景颜色

    我正在 asp net 中执行导出到 Excel 的操作 而不使用任何第三方控件 如何为导出的 Excel 工作表指定背景颜色 根据某些单元格范围 背景颜色可能 不确定 有所不同 比如说单元格 0 5 Excel 中的单元格 A E 是红色
  • Camel Quartz 在路由启动时路由不需要的作业执行

    我有几条路线看起来像 from quartz getJobId cron cronExpression stateful true routeId getJobId autoStartup false to getRouteTo 这些路由可
  • Google Chrome 扩展 + 使用 Facebook 登录 + Parse

    我正在尝试构建一个 google chrome 扩展 一个用例要求用户可以使用 Facebook 登录并通过帖子分享到他们的 Facebook 墙上 正确的申请流程是这样的 用户点击 google chrome 扩展 召唤扩展页面 用户在扩
  • JSF 中有类似 ServletContextListener 的东西吗?

    我想听一下 JSF 应用程序是否启动或停止 就像使用ServletContextListener在普通 Servlet Web 应用程序中 我怎样才能实现这个目标 您可以使用 ApplicationScoped http docs orac
  • SSIS排除Foreach循环容器中的某些文件

    我有一个 SSIS 包 它从特定目录加载 csv 文件 使用表达式和通配符来获取所有文件 目前 FileSpec容器的查找所有具有以下格式的文件 文件名 环境 这工作正常 现在从同一目录加载第二组文件 为了区分这些文件 文件格式为 文件名
  • Doctrine 的实体管理器崩溃并停止运行

    因此 当我在 ZF Doctrine 应用程序上运行测试时 某些测试碰巧破坏了 Doctrine 实体管理器 并且所有顺序测试由于 EM 关闭而失败 我在 test bootstrap php 中设置了 EM application new