-1

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;
    }
4

1 に答える 1

2

ドキュメントには、SilverStripe を使用したテストの作成に関する優れたページがいくつかあります。

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

開始するには、これらの EventProduct 製品の束を含むフィクスチャ ファイルを作成します (ドキュメントにこの例があります)。

また、組み込みテストを見ると、多くの優れたテスト例を見つけることができます。これはあなたが探しているものと非常によく似たものを行うので、BlogHolder テストを選択しました (フィルターを使用して顧客の「ゲッター」をテストする)。

https://github.com/silverstripe/silverstripe-blog/blob/master/tests/BlogHolderTest.php (フィクスチャ ファイルは同じフォルダ内の BlogTree.yml です)

于 2011-08-28T11:13:14.147 に答える