Как выполнить модульное тестирование

Я пытаюсь объединить тесты, модифицирующие примеры кода других людей, и каждый раз, когда я догадываюсь, что мои тесты работают без ошибок, я просто получаю те же ошибки, когда ожидаю, что они пройдут. В Интернете нет большой документации, и я действительно не знаю, куда еще пойти с этим. Может ли кто-нибудь увидеть, где в моем коде я ошибаюсь:

bootstrap.php (файл начальной загрузки phpunit)

Это в основном просто контейнер для объекта $ app. Я запускаю объект $ app с теми же файлами, с которых я запускаю свое реальное приложение (маршруты, config).

<?php /** * This makes our life easier when dealing with paths. Everything is relative * to the application root now. */ chdir(dirname('../')); // require composer autoloader for loading classes require 'vendor/autoload.php'; // app container class - singleton pattern class App { // Hold an instance of the class private static $instance; public static function getInstance() { if (!isset(self::$instance)) { // Instantiate a Slim application: $app = new \Slim\Slim(array( 'mode' => getenv('APPLICATION_ENV') ?: 'production', )); // set configuration require 'app/config.php'; // include the routes (always after we've instantiated our app instance) require 'app/routes.php'; self::$instance = $app; } return self::$instance; } } 

Затем мой тестовый файл с одним тестом:

AccountsControllerTest.php

 <?php use Slim\Environment; class AccountsControllerTest extends PHPUnit_Framework_TestCase { public static function get($path) { Environment::mock(array( 'REQUEST_METHOD' => 'GET', 'PATH_INFO' => $path, )); $app = App::getInstance(); //$app->middleware[0]->call(); $app->response()->finalize(); return $app->response(); } public function testIndex() { $response = $this->get('/accounts'); $this->assertContains('Accounts', $response->getBody()); } } 

Надеюсь, это немного ясно, что я пытаюсь сделать. В основном просто проверьте наличие «Учетных записей» (который, когда я загружаюсь в браузере, присутствует)

Ниже я вернусь:

 $ vendor/bin/phpunit PHPUnit 4.3.4 by Sebastian Bergmann. Configuration read from /var/www/shared-views-slim/phpunit.xml F Time: 33 ms, Memory: 4.75Mb There was 1 failure: 1) AccountsControllerTest::testIndex Failed asserting that '' contains "Accounts". /var/www/shared-views-slim/tests/app/controllers/AccountsControllerTest.php:30 FAILURES! Tests: 1, Assertions: 1, Failures: 1. 

ОБНОВИТЬ:

routes.php

 <?php // Define a HTTP GET route: $app->group('/accounts', function () use ($app) { $controller = new App\Controllers\AccountsController($app); // index $app->get('/', function () use ($controller) { $controller->index(); }); // show $app->get('/:id', function ($id) use ($controller) { $controller->show($id); })->conditions(array('id' => '[1-9]([0-9]*)')); // create // form $app->get('/create', function () use ($controller) { $controller->create(); }); // action $app->post('/', function () use ($controller) { $controller->create(); }); // update // form $app->get('/:id/edit', function ($id) use ($controller) { $controller->update($id); })->conditions(array('id' => '[1-9]([0-9]*)')); // action $app->put('/:id', function ($id) use ($controller) { $controller->update($id); }); // delete // form $app->get('/:id/delete', function ($id) use ($controller) { $controller->delete($id); })->conditions(array('id' => '[1-9]([0-9]*)')); //action $app->delete('/:id', function ($id) use ($controller) { $controller->delete($id); }); });