Как мне запустить все мои тесты PHPUnit?
-
06-07-2019 - |
Вопрос
У меня есть скрипт с именем Script.php и тесты для него в Tests/Script.php, но когда я запускаю тесты phpunit, он не выполняет никаких тестов в моем тестовом файле.Как мне запустить все мои тесты с помощью phpunit?
PHPUnit 3.3.17, PHP 5.2.6-3ubuntu4.2, последняя версия Ubuntu
Выходной сигнал:
$ phpunit Tests
PHPUnit 3.3.17 by Sebastian Bergmann.
Time: 0 seconds
OK (0 tests, 0 assertions)
А вот мой скрипт и тестовые файлы:
Script.php
<?php
function returnsTrue() {
return TRUE;
}
?>
Tests/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());
}
}
?>
Решение 2
Я создал следующее phpunit.xml и теперь, по крайней мере, я могу сделать phpunit --конфигурация phpunit.xml в моем корневом каталоге для запуска тестов, расположенных в разделе Тесты/
<phpunit backupGlobals="false"
backupStaticAttributes="false"
syntaxCheck="false">
<testsuites>
<testsuite name="Tests">
<directory suffix=".php">Tests</directory>
</testsuite>
</testsuites>
</phpunit>
Другие советы
Имя файла Php-теста должно заканчиваться на Test.php
phpunit mydir
будет запускать все скрипты с именем xxxxTest.php
в каталоге mydir
(похоже, это не описано в документации phpunit)
Я думаю, что для того, чтобы PHPUnit решил автоматически запустить его, он должен следовать соглашению об именах файлов:somethingTest.php .
Вы думаете, они бы задокументировали это.Я только что просмотрел руководство, и там говорится, что вы можете передать каталог, но не совсем, как это сделать.
Возможно, имя вашего класса должно совпадать с базовым именем (всем, кроме ".php") имени файла вашего тестового скрипта?
<?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;
}