Cakephp 3 - 运行 phpunit 测试时出现 MissingDatasourceConfigException

2024-04-04

我正在尝试使用 PHPUnit 4.7.3 在 CakePHP 3 中运行一些单元测试,但出现以下错误:

PHPUnit 4.7.3 by Sebastian Bergmann and contributors.

There was 1 error:

1) App\Test\TestCase\Model\Table\MoviesTableTest::testFindMoviesByGenre
Cake\Datasource\Exception\MissingDatasourceConfigException: The datasource configuration "default" was not found.

C:\xampp\htdocs\movie-pal\vendor\cakephp\cakephp\src\Datasource\ConnectionManager.php:188
C:\xampp\htdocs\movie-pal\vendor\cakephp\cakephp\src\ORM\TableRegistry.php:191
C:\xampp\htdocs\movie-pal\tests\TestCase\Model\Table\MoviesTableTest.php:17

FAILURES!
Tests: 1, Assertions: 0, Errors: 1.

我试图按照这本书来阅读,但可能我错过了一些东西。

在 app.php 我有:

'Datasources' => [
    'default' => [
        'className' => 'Cake\Database\Connection',
        'driver' => 'Cake\Database\Driver\Mysql',
        'persistent' => false,
        'host' => 'localhost',
        'username' => 'root',
        'password' => '',
        'database' => 'movies',
        'encoding' => 'utf8',
        'timezone' => 'UTC',
        'cacheMetadata' => true,
        'quoteIdentifiers' => false,
    ],
    'test' => [
        'className' => 'Cake\Database\Connection',
        'driver' => 'Cake\Database\Driver\Mysql',
        'persistent' => false,
        'host' => 'localhost',
        'username' => 'root',
        'password' => '',
        'database' => 'test_movies',
        'encoding' => 'utf8',
        'timezone' => 'UTC',
        'cacheMetadata' => true,
        'quoteIdentifiers' => false,
    ],
],

我的测试课:

namespace App\Test\TestCase\Model\Table;

use App\Model\Table\MoviesTable;
use Cake\ORM\TableRegistry;
use Cake\TestSuite\TestCase;

class MoviesTableTest extends TestCase
{
    public $fixtures = ['app.movies'];

    public function setUp()
    {
        parent::setUp();
        $this->Movies = TableRegistry::get('Movies');
    }

    public function testFindMoviesByGenre()
    {
       .......
    }

}

phpunit.xml

 <?xml version="1.0" encoding="UTF-8"?>
<phpunit
  colors="true"
  processIsolation="false"
  stopOnFailure="false"
  syntaxCheck="false"
  bootstrap="./tests/bootstrap.php"
  >
  <php>
    <ini name="memory_limit" value="-1"/>
    <ini name="apc.enable_cli" value="1"/>
  </php>

  <!-- Add any additional test suites you want to run here -->
  <testsuites>
    <testsuite name="App Test Suite">
      <directory>./tests/TestCase</directory>
    </testsuite>
    <!-- Add plugin test suites here. -->
  </testsuites>

  <!-- Setup a listener for fixtures -->
  <listeners>
    <listener
    class="\Cake\TestSuite\Fixture\FixtureInjector"
    file="./vendor/cakephp/cakephp/src/TestSuite/Fixture/FixtureInjector.php">
      <arguments>
        <object class="\Cake\TestSuite\Fixture\FixtureManager" />
      </arguments>
    </listener>
  </listeners>

</phpunit>

我在使用 Ubuntu 14.04 时遇到了同样的问题(这里没有 PowerShell)。就我而言,问题是我从错误的位置运行测试。根据文档 http://book.cakephp.org/3.0/en/development/testing.html#running-tests你需要成为位于应用程序根目录的文件夹中正确运行您的测试。

所以在你的情况下它会是这样的:

$ cd /path/to/your/app
$ vendor/bin/phpunit tests/TestCase/Model/Table/MoviesTable
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Cakephp 3 - 运行 phpunit 测试时出现 MissingDatasourceConfigException 的相关文章

  • 如何检查带有通配符的模拟调用?

    我正在编写单元测试 并且想要检查具有函数对象的调用 如下所示 call u mock u foobar
  • 使用 TFS 2015 运行 Jest 单元测试

    有人尝试将 jest 单元测试与 TFS 2015 集成吗 我尝试使用 Chutzpah 测试适配器 https visualstudiogallery msdn microsoft com f8741f04 bae4 4900 81c7
  • cakephp 1.1 与 php 5.3

    我刚刚从 php 5 1 升级到 5 3 之前在我的服务器上使用 cakephp 1 1 自从升级 或者可能更早 我不确定 以来 我收到以下错误 任何人都可以透露一些信息 Deprecated Assigning the return va
  • PHP服务器端IAB验证openssl_verify总是返回0

    我使用以下函数 服务器端 php 来验证 IAB v3 事务 我从 Android 应用程序传递过来 Override protected void onActivityResult int requestCode int resultCo
  • json_encode 创建格式错误的 JSON 数据?

    我有一个 codeigniter 应用程序将一些数据从数据库返回到视图 我正在尝试将其作为 json 数据发送回来 问题是返回的数据格式错误 它看起来像这样 2 5 Admin1 2 10 Admin2 当我在 jsonlint com 上
  • HTTP_REFERER 返回 NULL,$_SERVER 中不存在密钥

    使用以来第一次 SERVER HTTP REFERER 它给了我NULL因此 当我做var dump SERVER the HTTP REFERER密钥不存在 我还尝试使用不同的浏览器和不同的网站访问网站 但没有结果 该网站在基于 Linu
  • ajax 会增加还是降低安全性?

    我正在创建一个网站 到目前为止它是纯 PHP 的 我在想 既然很少有人没有启用 JavaScript 我想知道为什么 也许我应该将我的网站创建为一个完全 PHP 的网站 而不使用任何 AJAX 难道是我想错了 可以肯定的是 如果我实施一些
  • Mongodb $push 嵌套数组

    我想向我的嵌套数组添加新数据 我的文档是 username erkin email email protected cdn cgi l email protection password b playlists id 58 name asd
  • 如何在PHP中将图像从内存上传到AWS S3?

    所以我目前有一个使用 AWS S3 上传图像的上传系统 这是代码 Upload image to S3 s3 Aws S3 S3Client factory array key gt mykey secret gt myskey try s
  • 返回上一页

    我正在使用表格来 评价 页面 此表单将数据 发布 到其他地方的 php 脚本 我只是想在处理表单后显示一个链接 这将使用户返回到上一页 我可以在 php 脚本中使用 javascript 来执行此操作吗 GF 您可以使用链接来调用histo
  • Mandrill 验证错误

    很高兴能在 StackOverflow 上提出我的第一个问题 多年来我一直依靠它自学了很多东西 我的问题是这样的 尝试通过 Mandrill 的 API 发送邮件时出现以下错误 status error code 1 name Valida
  • 如何为未捕获的异常处理程序编写单元测试

    我有一个函数可以捕获uncaught例外情况 如下 有没有办法编写一个单元测试来执行uncaught exception handler 功能正常 但测试正常退出 import logging def config logger logge
  • WooCommerce 自定义产品类型选项不隐藏自定义产品选项卡

    我刚刚向我的 WC 管理产品页面添加了自定义产品类型选项 add filter product type options this filter product type options 99 1 public function filte
  • 通过 SOAP 的 Gmt php 或 UTC C# 等效项

    is C DateTime UtcNow和 PHPdate c 是等价的 我怀疑 因为当我肥皂时 我得到了 C
  • 如何在php中关闭夏令时

    我有这行代码将夏令时设置为 打开 将其设置为 关闭 的正确方法是什么 is daylight saving On rcmail config dst active bool date I date I 这是一个大写字母 i 当当前默认时区
  • 与 Dagger 一起使用时,Espresso 生成 FileNotFoundException

    我一直在研究旧版 Android 应用程序 尝试为其添加测试和适当的架构 该应用程序有一个主要LaunchActivity它在启动时运行一系列检查 最初 该活动使用 Dagger 来 注入依赖项 活动将使用它来运行检查 但效果相当糟糕 我转
  • PrivateObject 找不到属性

    我的结构基本上如下所示 abstract class A protected string Identificator get set private void DoSomething DoSomethingSpecific protect
  • PHP 用星号替换所有字符

    假设我有一个字符串形式的密码 password thisisaplaintextpassword 我怎样才能把它变成下面的样子 password 我想通过电子邮件向用户发送他们的帐户详细信息 但不想发送整个内容 Use 字符串重复 http
  • MYSQL 的 Google OAuth 2.0 用户 ID 数据类型

    我正在实施 Google OAuth 2 0 并注意到 Google OAuth 返回的唯一用户 ID 是21位数字长的 我想大整数 20 足以满足这种需求 但我现在看到 Google OAuth 返回的用户 ID 的长度感到困惑 关于我应
  • 使用 md5 加密的 PHP 和 Mysql 查询出现问题

    我使用普通的 php mysql 插入查询并使用 md5 加密密码 这是插入查询 sql mysql query INSERT INTO user username password role approved values usernam

随机推荐

  • 如何在 Android Lollipop 上声明扩展高度的工具栏/操作栏?

    我见过延伸高度Google Design 中的应用栏App Bar http www google co uk design spec layout structure html structure app bar指导方针 如何在 Andr
  • 为什么 C++ 分配器中没有重新分配功能?

    在 C 中 标准内存处理函数是malloc realloc and free 然而 C stdlib 分配器仅并行其中两个 没有重新分配函数 当然 不可能完全做同样的事情realloc 因为简单地复制内存并不适合非聚合类型 但是这个函数会不
  • 如何在 C# 中使用 GtkBuilder 连接林间空地信号?

    在Python中 我可以这样做builder connect signals self C 中好像不存在这个方法 看了之后GtkBuilder 文档 http library gnome org devel gtkmm unstable c
  • STM32F0、ST-link v2、OpenOCD 0.9.0:打开失败

    我在用着发射台 http www ti com ww en launchpad about htmlgcc arm none eabi 4 9 2015q2 为 STM32F0 进行编译 现在我想使用该集合中的 arm none eabi
  • PHP:如何获取构造函数调用的方法?

    PHP 有 get used class 这将返回所调用的类的名称 是否有一个函数可以返回所调用方法的名称 例如 我有一个父类 class Parent public function construct echo get called c
  • R:xlsx (0.4.2) 包的 rJava 错误

    我正在尝试使用 xlsx 包用外部文件中的信息填充电子表格 到目前为止 我已经使用 addDataFrame 将信息放入电子表格中 并且我尝试过的所有内容都是成功的 字体 颜色 边框等 现在的问题是我需要有一列超链接 为此我需要获取或创建特
  • Ruby on Rails 错误:Uglifier::Error: 意外的标记:运算符 (<)

    每当我跑步时rake assets precompile RAILS ENV production在我的命令行中 我收到此错误 它阻止我预编译我的资产 以下是命令行中显示的完整错误 rake aborted Uglifier Error U
  • :第n个字母伪元素不起作用[关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 当我为我的面包店建立一个网站时 我想制作一个花哨的标题来触发每个字母的颜色 所以我可以利用跨度 但这很累 我想用 first le
  • Solr 4 - 缺少必填字段:uuid

    我在使用 Solr4 中的 dataImportHandler 生成 UUID 时遇到问题 我正在尝试从现有的 MySQL 数据库导入 我的 schema xml 包含
  • 具有特殊结构的多模块项目的 Maven 组装

    我是 Maven 的新手 我想我已经开始了解它是如何工作的了 但我无法理解 Maven 程序集插件 我想要实现的是 当所有项目及其各自的依赖项都已打包后 我希望将它们全部放在目标目录中 我不希望它们被打包成一个超级jar 因为系统是基于模块
  • 为什么提交到 SVN 的最新文件不会立即被 Hudson 拉出来构建

    我有时发现我们的Hudson不会拉最新来自 SVN 的文件版本来构建包 例如 当前最新版本是1201 但Hudson使用1200来构建 你知道幕后的原因吗 当 Hudson 和 Subversion 服务器之间存在时钟偏差时 这是一个常见问
  • 如何在C++中打印成员函数地址

    看起来像std cout无法打印成员函数的地址 例如 include
  • Scala Pickling 和类型参数

    我在用着斯卡拉酸洗 https github com scala pickling Scala 的自动序列化框架 根据作者的幻灯片 http lampwww epfl ch hmiller files oopsla pickling pdf
  • 无法理解CYK算法伪代码

    我正在读关于CYK算法 https en wikipedia org wiki CYK algorithm 并且有一部分伪代码我无法理解 整个伪代码是 let the input be a string S consisting of n
  • FireFox 中的$插值错误

    我的日期从数据库中出来 如下所示 2013 11 21 17 43 20 以下代码在 FireFox 中存在错误 但在 Chrome 中完美运行 ul class job lookup results style padding 0 10p
  • android intellij 切换 nullpointerException

    我正在尝试将一个开关小部件放入 IntelliJ 中的活动中 当我这样做时 设计器崩溃 并在 android widget Switch jumpDrawablesToCurrentState 内出现 NullPointException
  • 为什么我的 lein re-frame 模板中有 clj 和 cljs 文件夹?

    为什么我的 lein re frame 模板中有 clj 和 cljs 文件夹 如下所示 为什么它们都包含名为 core似乎使用相同的命名空间 有人告诉我这是学习重新构建时的起点 但我找不到任何解释为什么模板会这样设置或创建 包括它们包含的
  • JIRA 与 Python

    我对 Python 世界还很陌生 刚刚阅读了一些文档并想要开始 我想设计一个用 Python 编写的工具 从 JIRA 中提取已由我们的 QA 团队标记为已解决的问题 然后显示每个版本中错误修复的漂亮 html 报告 我试图了解从 Pyth
  • Android Gradle 插件如何处理库中的资源冲突?

    我有一个 Android 应用程序项目 它依赖于两个 Android 库 这两个Android库指定了具有相同资源ID的两个资源 在旧的 Ant 构建系统中 库的优先级是在 project properties 文件中指定的 但在 Grad
  • Cakephp 3 - 运行 phpunit 测试时出现 MissingDatasourceConfigException

    我正在尝试使用 PHPUnit 4 7 3 在 CakePHP 3 中运行一些单元测试 但出现以下错误 PHPUnit 4 7 3 by Sebastian Bergmann and contributors There was 1 err