Модульное тестирование в Cake2: Как смоделировать функцию AppModel?

Я хочу протестировать свой CategoriesController и для этого мне нужно смоделировать метод AppModel. Я придерживаюсь Торты документы но я думаю, что мой случай немного отличается, так как модель Category не имеет отношения к AppModel, но наследуется от него.

app / Model / AppModel.php включает в себя:

<?php
App::uses('Model', 'Model');

class AppModel extends Model
{

public function storeId()
{
return Configure::read('storeId');
}
}

app / Test / Case / Controller / CategoriesControllerTest.php включает в себя:

<?php
App::uses('Controller', 'Controller');
App::uses('AppModel', 'Model');

class CategoriesControllerTest extends ControllerTestCase
{
public $fixtures = [...]
public function testView() {
$Categories = $this->generate('Categories', [
'models' => [
'AppModel' => [
'storeId'
],
]
]);
$Categories->AppModel
->method('storeId')
->will($this->returnValue(17));

$result = $this->testAction('/categories/view/1700007',
['return' => 'vars']
);
}
}

Это приводит к ошибке

Ошибка: вызов метода-члена () для null в …

Фон:
Мне нужно смоделировать метод storeId, потому что во время вызова view () в CategoriesController запрос обрабатывается методом в AppModel, который использует функцию storeId (), чтобы определить, какое хранилище активно.

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector