2013-05-27 2 views
0

Я новичок в модульных тестов, я работаю на этом уроке я нашел в интернете:PHPUnit и Zend Framework

http://blog.fedecarg.com/2008/12/27/testing-zend-framework-controllers/

Моя проблема заключается я просто не может выполнить тесты, отображаемые в руководство!

C

: \ WAMP \ WWW \ portailmg \ DEV \ тесты> PHPUnit PHPUnit 3.7.21 Себастьян Бергманн.

чтения конфигурации из C: \ WAMP \ WWW \ portailmg \ DEV \ тесты \ phpunit.xml

Время: 0 секунд Память: 4.00Mb

Никакие испытания выполняются!

отчет покрытия кода

Создание в формате HTML ... сделано

C: \ WAMP \ WWW \ portailmg \ DEV \ тесты>

Мой bootstrap.php, который является единственным файлом я отредактирован, потому что я имел следующую ошибку:

Примечание: Zend_Loader :: Zend_Loader :: registerAutoload нежелателен из 1.8.0 и будут удалены с 2.0.0; использовать Zend_Loader_Autoloader вместо этого в /www/zf-tutorial/library/Zend/Loader.php

Я попытался исправить это с этим:

This is because you have the lines: 

require_once 'Zend/Loader.php'; 
Zend_Loader::registerAutoload(); 

(or similar) somewhere in your bootstrap system. 

The easiest solution is to change them to: 

require_once 'Zend/Loader/Autoloader.php'; 
$loader = Zend_Loader_Autoloader::getInstance(); 
$loader->registerNamespace('App_'); 

Where 'App_' is the name of a directory on your include path that has classes within it that follow the Zend Framework naming convention, so change it as appropriate and add more if you need them. 

Мой самозагрузки:

<?php 
error_reporting(E_ALL | E_STRICT); 
ini_set('display_startup_errors', 1); 
ini_set('display_errors', 1); 
date_default_timezone_set('Europe/London'); 

define('APPLICATION_PATH', realpath(dirname(__FILE__) . '/../applications')); 
define('APPLICATION_ENV', 'loc'); 
define('LIBRARY_PATH', realpath(dirname(__FILE__) . '/../library')); 
define('TESTS_PATH', realpath(dirname(__FILE__))); 

$_SERVER['SERVER_NAME'] = 'http://localhost'; 

$includePaths = array(LIBRARY_PATH, get_include_path()); 
set_include_path(implode(PATH_SEPARATOR, $includePaths)); 

require_once 'Zend/Loader/Autoloader.php'; 
$loader = Zend_Loader_Autoloader::getInstance(); 
$loader->registerNamespace('LIBRARY_PATH'); 

Zend_Session::$_unitTestEnabled = true; 
Zend_Session::start(); 
?> 

Спасибо за вашу помощь

ответ

2

Ваши настройки выглядят нормально, хотя, если я правильно помню, zend framework 1 будет работать только с> = 3.5.x, поэтому возможно понижение от 3,7 до 3,5 может сделать трюк. Убедитесь, что файл phpunit.xml настроен правильно и указывает на загрузку тестов, а не на загрузку приложения. Также обязательно следуйте условным обозначениям модулей тестирования. См. http://phpunit.de/manual/3.5/en/index.html

+2

Правильно, версия должна быть 3.5.x, см. Здесь также [ссылка] (http://stackoverflow.com/a/8389837/131664) – spankmaster79

+1

http://framework.zend.com/blog /zend-framework-1-12-4-2-1-6-and-2-2-6-released.html ZF 1.12.4 и поддержка/работа вверх с phpunit 3.7 – kguest

Смежные вопросы