модульный тест php в silverstripe - PullRequest
       6

модульный тест php в silverstripe

0 голосов
/ 28 августа 2011

Хотите узнать, как начать писать модульный тест для этой функции в siverstripe?

function getAvailableScanners($date){
        $scanners = self::get("Scanner");

        $startDate = date("Y-m-d", strtotime("-".self::$daysNeededAfterLastGig." days", strtotime($date)));
        $endDate = date("Y-m-d", strtotime("+".self::$daysNeededBeforeNextGig." days", strtotime($date)));

        foreach($scanners as $scanner){
            $events = EventProduct::get("EventProduct", "\"ExpiryDate\">='$startDate' AND \"ExpiryDate\"<='$endDate'");
            if($events){
                foreach($events as $event){
                    if($scanner->isAssignedToEvent($event)){
                        $scanners->remove($scanner);
                    }
                }
            }
        }

        return $scanners;
    }

1 Ответ

2 голосов
/ 28 августа 2011

В документации есть несколько хороших страниц по написанию тестов с SilverStripe

http://doc.silverstripe.org/sapphire/en/topics/testing/

Для начала хотите создать файл фикстур с кучей этих продуктов EventProduct (документация содержит примерэтого).

Также вы можете найти много хороших примеров тестирования, посмотрев на встроенные тесты.Я выбрал тесты BlogHolder, так как это делает что-то очень похожее на то, что вы ищете (тестирование клиентского «геттера» с фильтрами)

https://github.com/silverstripe/silverstripe-blog/blob/master/tests/BlogHolderTest.php (и файл фикстуры - BlogTree.yml в той же папке)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...