मैं फ़िनपिट के साथ ज़ेंड फ्रेमवर्क पर शॉपिंग कार्ट, चेकआउट, भुगतान प्रक्रिया का परीक्षण करने पर काम कर रहा हूं। मैं कार्ट में उत्पादों को जोड़कर ShoppingCartController
का परीक्षण कर रहा हूं, ShoppingCart
मॉडल जेड सत्र नामस्थान में उत्पाद आईडी को संग्रहीत करके उत्पाद जोड़ों को संभालता है, और फिर एक और परीक्षण में मैं परीक्षण करना चाहता हूं कि उत्पादों को जोड़ा गया हो। वही ShoppingCart
मॉडल उसी ज़ेंड सत्र नामस्थान चर से जोड़े गए उत्पादों की एक सूची पुनर्प्राप्त करता है।phpunit पर सभी परीक्षणों के माध्यम से सत्र कैसे संरक्षित करें?
ऐड उत्पाद परीक्षण इस तरह दिखता है और अच्छी तरह से काम करता है, और 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)
पहले से ही परीक्षण की शुरुआत में शून्य है। सत्र चर रीसेट किए गए थे, मैं उन्हें संरक्षित करने का कोई तरीका ढूंढना चाहता हूं, क्या कोई मदद कर सकता है?
public function testCanDisplayShoppingCartWidget() {
var_dump($_SESSION);
$this->dispatch($this->getRouteUrl("view_shopping_mini_cart"));
$this->assertResponseCode('200');
}
ठीक है, मैं इसे – Daniel
का प्रयास करूंगा, धन्यवाद, यह बहुत उम्मीद है! – Daniel
परीक्षण मामलों के बीच सत्र साझा करने के लिए आप क्या सुझाव देंगे ?? – Daniel