Как сохранить сеанс во всех тестах на phpunit?

Я работаю над тестированием корзины покупок, оформления заказа и процесса оплаты на Zend Framework с помощью phpunit. Я тестирую ShoppingCartController , добавляя продукты в корзину, модель ShoppingCart обрабатывает добавление продуктов, сохраняя идентификаторы продуктов в пространстве имен сеанса Zend, а затем в другом тесте я хочу проверить, что добавлены товары. Та же модель ShoppingCart извлекает список добавленных продуктов из той же переменной пространства имен Zend Session.

Тест добавления продукта выглядит так и работает хорошо, а var_dump ($ _ SESSION) был добавлен в отладку и правильно показывает продукты:

public function testCanAddProductsToShoppingCart() {

    $testProducts = array(
        array(
            "product_id" => "1",
            "product_quantity" => "5"
        ),
        array(
            "product_id" => "1",
            "product_quantity" => "3"
        ),
        array(
            "product_id" => "2",
            "product_quantity" => "1"
        )
    );

    Ecommerce_Model_Shoppingcart::clean();

    foreach ($testProducts as $product) {
        $this->request->setMethod('POST')
                ->setPost(array(
                    'product_id' => $product["product_id"],
                    'quantity' => $product["product_quantity"]
                ));

        $this->dispatch($this->getRouteUrl("add_to_shopping_cart"));
        $this->assertResponseCode('200');
    }

    $products = Ecommerce_Model_Shoppingcart::getData();
    $this->assertTrue($products[2][0]["product"] instanceof Ecommerce_Model_Product);
    $this->assertEquals($products[2][0]["quantity"],
            "8");

    $this->assertTrue($products[2][1]["product"] instanceof Ecommerce_Model_Product);
    $this->assertEquals($products[2][1]["quantity"],
            "1");

    var_dump($_SESSION);
}

Второй тест пытается получить продукты по запросу модель для этого, var_dump ($ _ SESSION) имеет значение null уже в начале теста. Переменные сеанса были сброшены, я хочу найти способ их сохранить, может ли кто-нибудь помочь?

public function testCanDisplayShoppingCartWidget()  {
    var_dump($_SESSION);
    $this->dispatch($this->getRouteUrl("view_shopping_mini_cart"));
    $this->assertResponseCode('200');
}
10
задан Eborbob 22 December 2017 в 17:23
поделиться