codeception 相关问题

Codeception是PHP的现代全栈测试框架。受BDD的启发,它提供了一种编写接受,功能甚至单元测试的方法。由PHPUnit提供支持。

yii2 单元测试在 null 上调用成员函数 getDb() 时出错

<?php namespace tests\codeception\engine; use engine\components\BaseException; use engine\components\BaseService; use engine\modules\account\models\AccUser; use engine\modules\account\models\AccUserActivity; use engine\modules\account\services\AccountService; use yii\db\Connection; class AccountServiceTest extends \Codeception\TestCase\Test { protected $tester; protected function _before() { } protected function _after() { } public function getDb() { $connection=Yii::$app->getDb(); } public function testIsEmailAvailable() { $account = AccountService::model(); // 1. Existing email check $email = '[email protected]'; $this->assertEquals(true, $account->isEmailAvailable($email)); // 2. New email check $email = '[email protected]'; $this->assertEquals(false, $account->isEmailAvailable($email)); // 3. Not an email check only character $email = 'arulvel'; $this->assertEquals(false, $account->isEmailAvailable($email)); // 4. Not an email check only numbers $email = '549876315'; $this->assertEquals(false, $account->isEmailAvailable($email)); // 5. Empty check $email = ''; $this->assertEquals(false, $account->isEmailAvailable($email)); return true; } } 在运行测试时显示这样的错误 尝试测试电子邮件是否可用(AccountServiceTest::testIsEmailAvailable)... PHP 致命错误:调用成员函数 getDb() on null in /var/www/html/rewards/shopsup-rewards- web/htdocs/vendor/yiisoft/yii2/db/ActiveRecord.php 第 133 行 致命错误。测试未完成。 在 null 上调用成员函数 getDb() 在第 133 行访问 ActiveRecord.php 时就像 有什么配置需要做吗?? 来自Github 在单元测试的情况下,您有责任创建应用程序 实例。 来自Yii论坛 你可以设置数据库组件吗? https://github.com/yiisoft/yii2-codeception/blob/master/TestCase.php#L36 class TestCase extends Test { use FixtureTrait; /** * @var array|string the application configuration that will be used for creating an application instance for each test. * You can use a string to represent the file path or path alias of a configuration file. * The application configuration array may contain an optional `class` element which specifies the class * name of the application instance to be created. By default, a [[\yii\web\Application]] instance will be created. */ public $appConfig = '@tests/codeception/config/unit.php'; 如果你使用 Yii2 高级模板。 编辑您的 unit.suite.yml 并将“orm”添加到零件数组中。 例如 suite_namespace: backend\tests\unit actor: UnitTester modules: enabled: - Yii2: part: [orm, email, fixtures] - Asserts

回答 2 投票 0

在 Docker 上使用 Codeception 和 Selenium 时出现 ERR_CONNECTION_REFUSED

类似于这个(未回答的)问题:Facebook\WebDriver\Exception\UnknownErrorException: unknown error: net::ERR_CONNECTION_REFUSED (Session info: headless chrome=96.0.4664.110) 我有一个 Docker

回答 0 投票 0

Codeception 5测试参数推荐求助

我正在编写一个基于 Gherkin 的验收测试 PoC。我有一个功能文件、步骤对象和页面对象。在我的序列中,我需要先登录测试用户,然后再进行系列的其余部分......

回答 0 投票 0

代码感知不能从子类中获取数据

我在Yii2的高级寺庙里工作,我正在用codeception写单元测试,我有模型common/models/member。我正在使用codeception写一个单元测试,我有一个模型common/models/Member。从成员中我继承了一个子模型主管,现在我想从......中抓取数据。

回答 1 投票 0


当功能测试失败时,如何停止Github Actions步骤(使用Codeception)。

我是Github Actions的新手,我尝试用功能测试做一些持续集成。我使用Codeception和我的工作流程运行完美,但当一些测试失败的步骤被写成......

回答 1 投票 0

识别码无法通过选择器找到元素

我正在使用WINDOWS-1251的CMS(PHPShop)工作(西里尔语--我想这可能是问题的原因),我在页面上写了symple测试。像这样 $I->see('Пожалуйста, оплатите свой заказ');...

回答 1 投票 0

Queue :: fake在Laravel5代码接收模块中不起作用

我为带有代码接收和模块Laravel5,REST的Laravel应用编写测试。 api测试之一:公共功能testEmailRegistration(ApiTester $ I){... //数据不正确$ I-> sendPOST($ route,[...

回答 1 投票 0

未知数据库yii2_advance_tests密码接收yii2

我在yii2中的项目的代码接收中的数据库配置中有问题。每次我执行codecept运行时。发生错误[yii \ db \ Exception] SQLSTATE [HY000] [1049]未知数据库'...

回答 1 投票 0


Codeception:强制PhpBrowser使用自定义环境

我有一个带有文本字段和按钮的页面。填写文本字段并按下按钮后,控制器将连接到API并根据文本获取一些数据。我为...准备了一个FAKE_API ...

回答 1 投票 0

硒无效参数

我正在尝试设置代码接收。运行任何验收测试时,出现以下错误:> 1)FirstCest:测试测试tests \ acceptance \ FirstCest.php:tryToTest [Facebook \ WebDriver \ ...

回答 1 投票 1

我如何获得代码接收失败测试的网址(在_failed函数内部)

我已经可以发送带有失败测试的名称和错误的电子邮件(在_failed函数中生成邮件),但是我不知道如何获取失败测试的url。有人可以帮我...

回答 1 投票 -1

测试PDF文件的代码接收

Im使用YII2,Im开始使用CODECEPTION建立测试。我尝试在线查找该问题的答案,但找不到任何答案。测试生成的PDF文件的最佳方法是...

回答 1 投票 3

如何仅在Codeception中使用DataProvider的第n行?

我正在使用Codeception进行测试。我正在使用数据提供程序,并且一切正常。但是我只能说“我只需要从数据提供者开始第1行”,我该怎么做? ...

回答 1 投票 0

Codeception。插入多条记录

是否可以在Codeception中向数据库插入几条记录?此代码不起作用,但也许还有另一种选择。 $ this-> tester-> haveRecord('vacations',['destination'=&...

回答 1 投票 0

如何解决ChromDriver和yii2的“元素不可交互”?

[起初,我使用OpenServer,我使用ChromeDriver像这样D:\ ChromeDriver \ chromedriver.exe --url-base = / wd / hub我的Acceptance.suite.yml class_name:AcceptanceTester模块:已启用:...

回答 1 投票 0

如何从命令行将环境变量传递给Codeception YML文件?

我一直都在Codeception YML文件中看到这种情况:模块:已启用:-PhpBrowser:url:'%URL%'如何从命令行将“ URL”传递给Codeception?或任何...

回答 1 投票 1

从PHP创建并运行代码接收测试

我知道Codeception专为命令行使用而设计。但是由于它完全基于PHP,所以我很确定必须有一种通过PHP动态/临时创建测试的方法。就我而言,我是...

回答 1 投票 0

是否可以在2个Cest测试之间共享变量?

我需要在两个测试之间共享变量。有什么办法吗?这是PHP上的Codeception。我可以制作一些XML文档,将其存储,然后在其他测试中加载它。但这不完全是...

回答 2 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.