Существуют ли тестовые примеры SimpleTest с открытым исходным кодом, которые тестируют интерфейсы PHP SPL? - PullRequest
1 голос
/ 27 апреля 2010

В моей системе довольно много объектов, которые реализуют интерфейс итератора PHP SPL.

Когда я пишу их, я также пишу тесты.

Я знаю, что написание тестов, как правило, НЕ является работой по вырезке и вставке.

Но когда дело доходит до тестирования классов, которые реализуют стандартные интерфейсы PHP-библиотеки, безусловно, имеет смысл иметь несколько фрагментов сценария, которые можно позаимствовать и передать в класс Test - исключительно для тестирования этого конкретного интерфейса.

Кажется разумным сделать их общедоступными. Итак, мне было интересно, если вы знали о чем-нибудь?

1 Ответ

0 голосов
/ 14 июня 2010

Быстрая и грязная уловка для насмешки над итератором состоит в том, чтобы просто снабдить ArrayIterator ложными объектами и использовать его в качестве ложного итератора

$mockIt = new ArrayIterator;
$mockIt->append($mock1);
$mockIt->append($mock2);
$mockIt->append($mock3);

$sut = new SystemExpectingAnIterator($mockIt);
$this->assertTrue($sut->doSomethingWithIterator());

Это немного вонючий, но более простой, чем издеваться над всеми методами итератора SPL.

...