Как я могу издеваться над результатами git diff в phpunit

Я пишу скрипт переноса базы данных на PHP, и мне нужно смоделировать результаты git diff в phpunit.
Идея состоит в том, что git diff будет возвращать только имена файлов, которые были добавлены или обновлены в include / со времени предыдущего коммита. Но, конечно, это будет постоянно меняться, так как я работаю над сценарием и фиксирую свои изменения.

Вот класс Migrate и метод gitDiff:

#!/usr/bin/php
<?php

class Migrate {

public function gitDiff(){
return shell_exec('git diff HEAD^ HEAD --name-only includes/');
}
}
?>

Есть идеи?

3

Решение

В PHPUnit:

$mock = $this->getMockBuilder('Migrate')
->setMethods(array('getDiff'))
->getMock();

$mock->expects($this->any())
->method('getDiff')
->will($this->returnValue('your return'));

$this->assertEquals("your return", $mock->getDiff());

Ты можешь использовать узо вкусности макет инструмента:

$mock = Mock::create('Migrate');

Mock::when($mock)->getDiff()->thenReturn('your return');

$this->assertEquals("your return", $mock->getDiff());

Все документы Вот.

6

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

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

По вопросам рекламы [email protected]