मैं जानना चाहता हूं कि PHPUnit परीक्षणों को Zend_Test के साथ और सामान्य रूप से PHP के साथ कैसे लिखना है।मैं ज़ेंड फ्रेमवर्क के साथ PHPUnit का उपयोग कैसे करूं?
उत्तर
मैंने ज़ेंड_Test का उपयोग नहीं किया है, लेकिन मैंने Zend_MVC और इसी तरह के ऐप्स का उपयोग करके ऐप्स के खिलाफ परीक्षण लिखे हैं। सबसे बड़ा हिस्सा आपके परीक्षण सेटअप में पर्याप्त बूटस्ट्रैप कोड प्राप्त कर रहा है।
मैं सभी नियंत्रकों का पूरी तरह से परीक्षण करने के लिए Zend_Test का उपयोग कर रहा हूं। सेट अप करना काफी आसान है, क्योंकि आपको केवल अपनी बूटस्ट्रैप फ़ाइल सेट अप करना है (बूटस्ट्रैप फ़ाइल को स्वयं को फ्रंट कंट्रोलर नहीं भेजना चाहिए!)। मेरे आधार परीक्षण मामले वर्ग इस तरह दिखता है:
abstract class Controller_TestCase extends Zend_Test_PHPUnit_ControllerTestCase
{
protected function setUp()
{
$this->bootstrap=array($this, 'appBootstrap');
Zend_Auth::getInstance()->setStorage(new Zend_Auth_Storage_NonPersistent());
parent::setUp();
}
protected function tearDown()
{
Zend_Auth::getInstance()->clearIdentity();
}
protected function appBootstrap()
{
Application::setup();
}
}
जहां Application::setup();
सभी सेटअप अप कार्यों के लिए जो भी वास्तविक आवेदन की स्थापना करता है। एक साधारण परीक्षण तो इस प्रकार दिखाई देगा:
class Controller_IndexControllerTest extends Controller_TestCase
{
public function testShowist()
{
$this->dispatch('/');
$this->assertController('index');
$this->assertAction('list');
$this->assertQueryContentContains('ul li a', 'Test String');
}
}
बस इतना ही ...
वे Zend डेवलपर जोन, जो PHPUnit को शामिल किया गया पर एक "Introduction to the Art of Unit Testing" है।
बहुत अच्छा पढ़ा। –
लिंक के लिए धन्यवाद। वास्तव में बहुत अच्छा पढ़ा। –
लिंक वर्तमान में टूटा हुआ है – thanksd
मुझे this आलेख बहुत उपयोगी मिला। Zend_Test दस्तावेज ने बहुत मदद की। इन दो संसाधनों की सहायता से, मैंने ज़ेन फ्रेमवर्क के QuickStart tutorial में यूनिट परीक्षण सफलतापूर्वक कार्यान्वित करने में कामयाब रहे और इसके लिए कुछ परीक्षण लिख दिए।
जेडएफ 1.10 का उपयोग करना, मैं कुछ बूटस्ट्रैप कोड में परीक्षण/bootstrap.php (मूल रूप से (सार्वजनिक/index.php) में क्या है, $ आवेदन के> बूटस्ट्रैप() जब तक डाल दिया।
तो मैं कर रहा हूँ सेट पर तो एक परीक्षण
phpunit --bootstrap ../bootstrap.php PersonControllerTest.php
साथ ही यदि आप एक डेटाबेस लेनदेन का उपयोग कर तो यह सबसे अच्छा होगा का उपयोग कर सभी लेन-देन है एक इकाई परीक्षण अन्यथा अपने डेटाबेस सब गड़बड़ हो जाता है के माध्यम से किया जाता है कि नष्ट करने के लिए चलाते हैं।
ऊपर
public function setUp() {
YOUR_ZEND_DB_INSTANCE::getInstance()->setUnitTestMode(true);
YOUR_ZEND_DB_INSTANCE::getInstance()->query("BEGIN");
YOUR_ZEND_DB_INSTANCE::getInstance()->getCache()->clear();
// Manually Start a Doctrine Transaction so we can roll it back
Doctrine_Manager::connection()->beginTransaction();
}
और टियरडाउन पर तुम सब करने की जरूरत है रोलबैक
public function tearDown() {
// Rollback Doctrine Transactions
while (Doctrine_Manager::connection()->getTransactionLevel() > 0) {
Doctrine_Manager::connection()->rollback();
}
Doctrine_Manager::connection()->clear();
YOUR_ZEND_DB_INSTANCE::getInstance()->query("ROLLBACK");
while (YOUR_ZEND_DB_INSTANCE::getInstance()->getTransactionDepth() > 0) {
YOUR_ZEND_DB_INSTANCE::getInstance()->rollback();
}
YOUR_ZEND_DB_INSTANCE::getInstance()->setUnitTestMode(false);
}
- 1. मैं ज़ेंड फ्रेमवर्क के साथ नेमस्पेस का उपयोग कैसे करूं?
- 2. PHPUnit - ज़ेंड फ्रेमवर्क एप्लिकेशन
- 3. ज़ेंड फ्रेमवर्क 2 phpunit
- 4. मैं ज़ेंड फ्रेमवर्क के साथ कहां से शुरू करूं?
- 5. ज़ेंड फ्रेमवर्क के साथ GROUP_CONCAT का उपयोग कैसे करें?
- 6. मैं PHPUnit के साथ कई अपवादों का परीक्षण कैसे करूं?
- 7. ज़ेंड फ्रेमवर्क
- 8. ज़ेंड फ्रेमवर्क 2: मैं नियंत्रक
- 9. ज़ेंड फ्रेमवर्क में ओपनिड का उपयोग करके मैं लॉगिन का परीक्षण कैसे करूं?
- 10. मैं PHPUnit के साथ यूनिट परीक्षण सॉकेट कोड कैसे करूं?
- 11. ज़ेंड फ्रेमवर्क
- 12. मैं ज़ेंड फ्रेमवर्क में पुनर्निर्देशक सहायक का उपयोग करके पैरामीटर कैसे पास करूं?
- 13. ज़ेंड फ्रेमवर्क
- 14. ज़ेंड फ्रेमवर्क 1.9: एमवीसी
- 15. ज़ेंड फ्रेमवर्क
- 16. ज़ेंड फ्रेमवर्क
- 17. ज़ेंड-फ्रेमवर्क
- 18. ज़ेंड फ्रेमवर्क
- 19. ज़ेंड फ्रेमवर्क
- 20. ज़ेंड फ्रेमवर्क
- 21. ज़ेंड फ्रेमवर्क
- 22. मैं ज़ेंड फ्रेमवर्क में लेआउट के साथ हेडर और फ़ूटर कैसे शामिल करूं?
- 23. ज़ेंड फ्रेमवर्क
- 24. ज़ेंड फ्रेमवर्क
- 25. ज़ेंड फ्रेमवर्क
- 26. ज़ेंड फ्रेमवर्क
- 27. ज़ेंड फ्रेमवर्क
- 28. ज़ेंड फ्रेमवर्क
- 29. ज़ेंड फ्रेमवर्क
- 30. ज़ेंड फ्रेमवर्क
आप इस पर थोड़ा और विस्तार से बता सकते हैं क्या है? मुझे आपकी सारणी टेस्टकेस कक्षा पसंद है! आप अपना कंट्रोलर_TestCase कहां डालते हैं? क्या आपको किसी भी फाइल की आवश्यकता/शामिल करने की आवश्यकता है? आप परीक्षा कैसे चलाते हैं? क्या आप कमांड लाइन के माध्यम से PHPUnit का उपयोग करते हैं, या आईडीई में प्लगइन के साथ? धन्यवाद! – Andrew
मैंने अपने परीक्षण/नियंत्रक निर्देशिका में Controller_TestCase डाला - वह निर्देशिका है जहां सभी नियंत्रक परीक्षण के मामले स्थित हैं। आम तौर पर मैं यूनिट-परीक्षण चलाते समय ऑटो-लोडिंग का उपयोग नहीं करता लेकिन यदि मैं नियंत्रक परीक्षण करता हूं, तो मैं ऑटो-लोडिंग का उपयोग करने के लिए ज़ेंड_लोडर :: रजिस्टरऑटोलोड() का उपयोग करता हूं क्योंकि यह बहुत है ... –
... निर्भरताओं को ट्रैक करना मुश्किल है एमवीसी चल रहा है। आपको बस यह सुनिश्चित करना होगा कि आप नामकरण सम्मेलन का पालन करें और Zend_Loader आपकी फाइलें पायेगा (set_path सेट करें)। मेरे परीक्षण चलाने के लिए मैं PHPUnit की सीएलआई का उपयोग करता हूं क्योंकि मुझे ग्रहण पीडीटी में PHPUnit एकीकरण पसंद नहीं है। यह है ... –