cakephp - 无法找到单元测试获取错误类
问题描述
我有一个dynamoDB
位置类
src/Dynamo/shop.php
我的课如下所示
<?php
namespace App\Dynamo;
class Shop
{
-----
}
?>
我正在尝试为这个类实现单元测试,所以我在下面的位置创建了一个文件夹类发电机。
app/cake/tests/TestCase/Dynamo
在 Dynamo 文件夹中,我创建了一个带有文件名的类ShopTest.php
为了创建一个单元测试,我编写了这个类,如下所示
<?php
declare(strict_types=1);
namespace App\Test\TestCase\Dynamo;
use App\Dynamo\Shop;
use Cake\TestSuite\TestCase;
class ShopTest{
public function setUp()
{
$this->shop = new Shop;
}
public function testconnectDynamoDB()
{
debug($this->shop->connectDynamoDB());
$this->assertNotEmpty($this->shop->connectDynamoDB());
}
}
现在运行 phpunit 命令后
vendor/bin/phpunit tests/TestCase/Dynamo/ShopTest.php
我正进入(状态
Class 'App\Test\TestCase\Dynamo\ShopTest' could not be found in '/var/www/html/tests/TestCase/Dynamo/ShopTest.php'.
该位置存在课程,为什么找不到课程?
root@0ceda1df4444:/var/www/html# cd /var/www/html/tests/TestCase/Dynamo/
root@0ceda1df4444:/var/www/html/tests/TestCase/Dynamo# ls
ShopTest.php
root@0ceda1df4444:/var/www/html/tests/TestCase/Dynamo# cat ShopTest.php
<?php
declare(strict_types=1);
namespace App\Test\TestCase\Dynamo;
use App\Dynamo\Shop;
use Cake\TestSuite\TestCase;
class ShopTest{
另外我正在尝试通过以下命令运行所有测试用例,我收到警告。
root@0ceda1df4444:/var/www/html# vendor/bin/phpunit
PHPUnit 9.5.9 by Sebastian Bergmann and contributors.
Warning: Your XML configuration validates against a deprecated schema.
Suggestion: Migrate your XML configuration using "--migrate-configuration"!
No tests executed!
解决方案
没有测试班
那里的错误信息有点混乱,但关键是这不是一个测试类:
<?php
declare(strict_types=1);
namespace App\Test\TestCase\Dynamo;
use App\Dynamo\Shop;
use Cake\TestSuite\TestCase;
class ShopTest{ # <--
它只是一个类(巧合的是Test
,它的名字中有这个词)。
与文档中的示例进行比较:
namespace App\Test\TestCase\View\Helper;
use App\View\Helper\ProgressHelper;
use Cake\TestSuite\TestCase;
use Cake\View\View;
class ProgressHelperTest extends TestCase # <--
{
要被检测为测试,该类必须扩展TestClass
- 因此要纠正这一点:
...
use App\Dynamo\Shop;
use Cake\TestSuite\TestCase;
class ShopTest extends TestCase # <--
{
随着这种变化,测试类将加载,一些更容易解决的问题将变得明显:
$ vendor/bin/phpunit tests/TestCase/Dynamo/ShopTest.php
PHP Fatal error: Declaration of ShopTest::setUp() must be compatible with Cake\TestSuite\TestCase::setUp(): void in ~/repos/cakephp/app/tests/TestCase/Dynamo/ShopTest.php on line 11
Fatal error: Declaration of ShopTest::setUp() must be compatible with Cake\TestSuite\TestCase::setUp(): void in ~/repos/cakephp/app/tests/TestCase/Dynamo/ShopTest.php on line 11
推荐阅读
- python - 如何将导入的模块封装成python中的多线程方法?
- android - 在 Android 上通过 RTP 从 GStreamer 接收视频流
- docker - 了解 kubernetes 容器上的“stdin:true tty:true”?
- c# - 开始使用 C# 项目接收 http 消息
- selenium - 如何从远程詹金斯启动量角器测试?
- node.js - API 验证失败
- eclipse - Eclipse git - 无法克隆 - git:未授权错误
- laravel - Laravel Echo 与 StreamBuilder
- wpf - 我是否正确地处理了 MVVM / Prism / WPF 中相同视图的多个实例
- r - 每次根据前面的列改变匹配模式的所有列