How load more then one class from file?
まだ誰も着手していません。
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 30/100
- issue の種類
- 機能追加
- 明瞭さ
- おおむね明確
- 活発さ
- 停滞
- 技術スタック
- php
- 領域
- testing-qa
調査の方向性
bootstrap.php のセットアップと、CComponent.php、CModel.php、CFormModel.php、ConfirmForm.php に対する Kernel::loadFile 呼び出しから始めます。不足している CFormModel および CEvent の locator エラーを再現し、その後、複数のクラスを含むファイルがどのように検出され、読み込まれるかを調べます。CComponent.php のようなファイルが、これらのエラーなしにすべてのクラスを locator に提供できれば完了です。
索引モデルが issue の本文から書いたものです。
説明
I just try to test my Yii App with AspectMock and Codeception.
My bootstrap.php:
include __DIR__.'/../vendor/autoload.php'; // composer autoload
$kernel = \AspectMock\Kernel::getInstance();
$kernel->init([
'debug' => true,
'appDir' => __DIR__ . '/..',
'includePaths' => [
__DIR__.'/../src',
],
'cacheDir' => __DIR__ . '/temp/aspectMock',
'excludePaths ' => [__DIR__],
]);
I use it:
\AspectMock\Test::double(\TestForm::class, [
'validate' => false,
]);
$a = new \TestForm();
$a->prop = 123;
$I->assertEquals(false, $a->validate());
\AspectMock\Test::double(\TestForm::class, [
'validate' => true,
]);
$a = new \TestForm();
$a->prop = 123;
$I->assertEquals(true, $a->validate());
But AspectMock doesn't replace method validate.
I add into bootstap this:
include __DIR__.'/../vendor/autoload.php'; // composer autoload
$kernel = \AspectMock\Kernel::getInstance();
$kernel->init([
'debug' => true,
'appDir' => __DIR__ . '/..',
'includePaths' => [
__DIR__.'/../src',
],
'cacheDir' => __DIR__ . '/temp/aspectMock',
'excludePaths ' => [__DIR__],
]);
$kernel->loadFile(__DIR__ . '/../public/protected/models/ConfirmForm.php');
But now I see Error: "Class CFormModel was not found by locator"
CFormModel it's parent of my TestForm.
And I do this:
$kernel->loadFile(__DIR__ . '/../vendor/yiisoft/yii/framework/base/CComponent.php');
$kernel->loadFile(__DIR__ . '/../vendor/yiisoft/yii/framework/base/CModel.php');
$kernel->loadFile(__DIR__ . '/../vendor/yiisoft/yii/framework/web/CFormModel.php');
$kernel->loadFile(__DIR__ . '/../public/protected/models/ConfirmForm.php');
And I see error "Class CEvent was not found by locator". But class CEvent exists in CComponent.php.
In file CComponent have more then one class. And its a problem, I think.
I cant do anything with it?
Can AspectMock load more then one class from file?
- 主要言語
- PHP
- スター
- 784
- フォーク
- 132
- PR マージ指標
- 30日以内にマージされた PR はありません
コントリビューションガイド
このリポジトリのコントリビューションガイドは索引されていません
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
Codeception/AspectMock のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 35/100
Codeception/AspectMock#208 · コメント 2 件 · リアクション 5 件 ·
-
難易度 3/5 1〜2日 初心者へのやさしさ 25/100
Codeception/AspectMock#206 ·
-
難易度 3/5 1〜2日 初心者へのやさしさ 35/100
Codeception/AspectMock#203 ·
-
難易度 1/5 1時間未満 初心者へのやさしさ 35/100
Codeception/AspectMock#202 · コメント 5 件 · リアクション 2 件 ·
-
難易度 3/5 1〜2日 初心者へのやさしさ 42/100
Codeception/AspectMock#201 · コメント 1 件 ·
Codeception/AspectMock の issue をすべて見る
似ている issue
-
Solved site promotion gate fails on runner PHP patch drift (expects 8.2.33, runner installs 8.2.34) オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
Automattic/blocks-engine#2161 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
Automattic/static-site-importer#1824 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
-
0. Needs triage bug
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
-
0. Needs triage 35-feedback bug
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100