首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Silex web测试失败

Silex web测试失败
EN

Stack Overflow用户
提问于 2018-01-12 19:22:25
回答 1查看 180关注 0票数 2

我正在尝试编写一个简单的web测试来使用phpunit测试我的silex api,但是当我尝试运行它时,我一直收到这个错误。

代码语言:javascript
复制
1) App\Tests\BlogControllerTest::testInitialPage
TypeError: Argument 1 passed to Symfony\Component\HttpKernel\Client::__construct() must implement interface Symfony\Component\HttpKernel\HttpKernelInterface, null given, called in C:\vendor\silex\silex\src\Silex\WebTestCase.php on line 63

这是我的网络测试

代码语言:javascript
复制
<?php
namespace App\Tests;

use Silex\WebTestCase;

class BlogControllerTest extends WebTestCase
{

    public function createApplication()
    {
        require dirname(dirname(__DIR__)) . '/src/Application.php';
    }
    public function testInitialPage()
    {
        $client  = $this->createClient();
        $crawler = $client->request('GET', '/Blog/1');

        $this->assertTrue($client->getResponse()->isOk());

    }
}

我的Composer文件的内容:

代码语言:javascript
复制
{
    "require": {
        "silex/silex": "~2.0",
        "symfony/validator": "^4.0",
        "crell/api-problem": "~1.7",
        "tobiassjosten/responsible-service-provider": "^1.0"
    },
    "require-dev": {
        "phpunit/phpunit": "6",
        "symfony/browser-kit": "^4.0",
        "symfony/css-selector": "^4.0"
    },
    "autoload": {
        "psr-4": {
            "App\\": "src/",
            "Tests\\": "tests/"
        }
    }
}
EN

回答 1

Stack Overflow用户

发布于 2018-01-15 06:37:11

来自documentation

对于您的WebTestCase,您必须实现一个createApplication方法,该方法将返回您的应用程序实例:

公共函数createApplication() { // app.php必须返回应用程序实例return require __DIR__.'/path/to/app.php';}

所以这是你需要的:

代码语言:javascript
复制
public function createApplication()
{
    return new Application();
}

但在大多数情况下,最好从引导程序(bootstrap example)中返回已配置的应用程序:

代码语言:javascript
复制
public function createApplication()
{
    require __DIR__.'../web/index-test.php'; // path to your bootstrap file
    return $app;
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48225255

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档