2009-09-12 15 views
33

मेरे पास Script.php नामक स्क्रिप्ट है और टेस्ट/Script.php में इसके लिए परीक्षण है, लेकिन जब मैं phpunit टेस्ट चलाता हूं तो यह मेरी टेस्ट फ़ाइल में किसी भी परीक्षण को निष्पादित नहीं करता है। मैं अपने सभी परीक्षण phpunit के साथ कैसे चला सकता हूं?मैं अपने सभी PHPUnit परीक्षण कैसे चला सकता हूं?

PHPUnit 3.3.17, पीएचपी 5.2.6-3ubuntu4.2, नवीनतम उबंटू

आउटपुट:

$ phpunit Tests 
PHPUnit 3.3.17 by Sebastian Bergmann. 
Time: 0 seconds 
OK (0 tests, 0 assertions) 

और यहाँ मेरी स्क्रिप्ट और परीक्षण फ़ाइलें हैं:

स्क्रिप्ट .php

<?php 
function returnsTrue() { 
    return TRUE; 
} 
?> 

टेस्ट/Script.php

<?php 
require_once 'PHPUnit/Framework.php'; 
require_once 'Script.php' 

class TestingOne extends PHPUnit_Framework_TestCase 
{ 

    public function testTrue() 
    { 
     $this->assertEquals(TRUE, returnsTrue()); 
    } 

    public function testFalse() 
    { 
     $this->assertEquals(FALSE, returnsTrue()); 
    } 
} 

class TestingTwo extends PHPUnit_Framework_TestCase 
{ 

    public function testTrue() 
    { 
     $this->assertEquals(TRUE, returnsTrue()); 
    } 

    public function testFalse() 
    { 
     $this->assertEquals(FALSE, returnsTrue()); 
    } 
} 
?> 

उत्तर

28

मैं phpunit.xml निम्नलिखित बनाया है और अब कम से कम मैं PHPUnit --configuration phpunit.xml टेस्ट मैचों में स्थित परीक्षण चलाने के लिए मेरी रूट निर्देशिका में/

<phpunit backupGlobals="false" 
     backupStaticAttributes="false" 
     syntaxCheck="false"> 
    <testsuites> 
    <testsuite name="Tests"> 
     <directory suffix=".php">Tests</directory> 
    </testsuite> 
    </testsuites> 
</phpunit> 
2

आपको लगता है कि वे इस दस्तावेज होता। मैंने बस मैनुअल के माध्यम से देखा, और वे कहते हैं कि आप एक निर्देशिका पास कर सकते हैं, लेकिन वास्तव में यह कैसे करना है।

शायद आपके क्लास नाम को बेसनेम से मिलान करना है (सबकुछ लेकिन ".php") आपके टेस्ट स्क्रिप्ट फ़ाइल नाम के साथ?

8

मुझे लगता है कि करने के लिए क्या कर सकते हैं forPHPUnit इसे स्वचालित रूप से चलाने का निर्णय लें, इसे फ़ाइल नाम सम्मेलन का पालन करना होगा: somethingTest.php।

+0

यह परिवर्तन में xxxxTest.php नामित सभी स्क्रिप्ट चलेंगे मेरे लिए काम किया – Stephanie

-5
<?php 
//Files required for phpunit test 
require_once 'PHPUnit/Framework.php'; 
//Knowing the drupal environment 
require_once './includes/bootstrap.inc';  //initialize the Drupal framework 
//Loading the drupal bootstrap 
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL); 
//Helper file 
include_once 'helper.inc'; 
//Including inc file of addresses module 
include_once(module_load_include('inc','addresses_user','addresses_user')); 

class addresses_test extends PHPUnit_Framework_TestCase { 

protected $uid; 

protected function setUp() 
{ 
    $this->uid = 1; 
} 
47

Php परीक्षण के फ़ाइल नाम test.php साथ समाप्त होना चाहिए

phpunit mydir निर्देशिका mydir

(दिखता पसंद करती है यह PHPUnit दस्तावेज़ में वर्णित नहीं है)

+0

यह जरूरी नहीं है। यदि आप अपनी टेस्ट फाइलें "TestCase.php" के साथ समाप्त हो रही हैं, तो आप - test -aseix "TestCase.php" निर्दिष्ट कर सकते हैं, लेकिन डिफ़ॉल्ट रूप से phpunit केवल "test.php" के रूप में प्रत्यय स्वीकार करेगा जब हम कमांड में प्रत्यय निर्दिष्ट नहीं कर रहे हैं लाइन – kaushik

संबंधित मुद्दे

 संबंधित मुद्दे