В модульном тестировании Laravel 5.6 выдается сообщение «Failed asserting is false is true» - PullRequest
0 голосов
/ 28 ноября 2018

В моем проекте laravel файлы контроллера имеют n папок, например, таких как: -

app/Http/Controllers/api/v2

Исходный метод в MyController на самом деле является веб-сервисом, который возвращает данные json, подобные этой -

{
    "login": {
          "status": 1,
          "message": "Login successful",
          "details": {
                "user_id": 2,
                "image": "http://localhost/demowebsite/public/images/general_images/no-user-image.png",
                "username": "xxxxxx@mail.com",
                "fname": "Saswat",
                "lname": "Routroy",
                "email": "xxxxxx@mail.com",
                "isd": "+91",
                "mobile": "xxxxxxxxxx",
                "created_date": "2018-07-12 08:09:06"
          },
          "error": [],
          "error_validation_key": [],
          "api_version": "1.0",
          "api_code": 1002
     }
}

Вот мой код модульного теста

namespace Tests\Unit;

use Tests\TestCase;
use Illuminate\Foundation\Testing\WithFaker;
use Illuminate\Foundation\Testing\RefreshDatabase;

class UserTest extends TestCase
{
    public function testUserLogin()
    {
        // #call($method, $uri, $parameters, $files, $server, $content, $changeHistory);

        $method     = 'POST';
        $uri        = 'api/v2/MyController@login';
        $parameters = array(
                        'email'         => 'xxxxxx@mail.com', 
                        'password'      => 'xxxxxx',
                        'auth_token'    => 'xxxxxxxxxxxxxxxxxxxxxxxxx',
                        'version'       => '2'
                    );
        $content    = array(
                        'xsrf-token' => 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
                    );

        $response = $this->json($method, $uri, $parameters, [], [], $content);
        // you can check if response was ok 
        $this->assertTrue($response->isOk(), "Something went wrong");
    }
}

При каждом выполнении модульного тестирования я получаю следующие ошибки: -

1) Tests\Unit\UserTest::testUserLogin
Something went wrong
Failed asserting that false is true.

/var/www/html/lightacandle/tests/Unit/UserTest.php:34

FAILURES!
Tests: 3, Assertions: 3, Failures: 1.

Что я делаю неправильно?Могу ли я узнать ответ json, который я получаю?

...