2009-09-12 32 views
33

Tôi có kịch bản gọi là Script.php và kiểm tra cho nó trong thử nghiệm/Script.php, nhưng khi tôi chạy phpunit thử nghiệm nó không thực hiện bất kỳ thử nghiệm trong tập tin thử nghiệm của tôi. Làm thế nào để chạy tất cả các bài kiểm tra của tôi với phpunit?Làm cách nào để chạy tất cả các bài kiểm tra PHPUnit của tôi?

PHPUnit 3.3.17, PHP 5.2.6-3ubuntu4.2, mới nhất Ubuntu

Output:

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

Và đây là kịch bản và thử nghiệm tác phẩm của tôi:

Script .php

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

thử nghiệm/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()); 
    } 
} 
?> 

Trả lời

28

Tôi tạo ra sau phpunit.xml và bây giờ ít nhất tôi có thể làm phpunit --configuration phpunit.xml trong thư mục gốc của tôi để chạy thử nghiệm nằm trong thử nghiệm/

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

Bạn nghĩ rằng họ có thể đã ghi nhận này. Tôi chỉ cần xem qua các hướng dẫn, và họ nói rằng bạn có thể vượt qua một thư mục, nhưng không thực sự làm thế nào để làm điều đó.

Có lẽ tên lớp của bạn phải khớp với tên cơ sở (mọi thứ trừ ".php") của tên tệp tập lệnh thử nghiệm của bạn?

8

Tôi nghĩ forPHPUnit để quyết định tự động chạy nó, nó phải tuân theo quy ước tên tập tin: somethingTest.php.

+0

Sự thay đổi này làm việc cho tôi – 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
filename

Php thử nghiệm của phải kết thúc với test.php

phpunit mydir sẽ chạy tất cả các kịch bản có tên xxxxTest.php trong thư mục mydir

(vẻ thích nó không được mô tả trong tài liệu phpunit)

+0

Nó không phải là một. Bạn có thể chỉ định --test-suffix "TestCase.php" nếu tệp thử nghiệm của bạn kết thúc bằng "TestCase.php", nhưng theo mặc định phpunit sẽ chỉ chấp nhận hậu tố là "Test.php" khi chúng tôi không chỉ định hậu tố trong lệnh hàng – kaushik

Các vấn đề liên quan