次要版本升级后symfony测试出现问题

时间:2019-12-15 18:40:56

标签: php symfony

我有一个简单的Web应用程序,该应用程序最初是在Symfony 4.2中构建的,现在尝试将其更新为Symfony 4.4。我更新了composer.json并删除了composer.lock和symfony.lock文件以及供应商目录。

除了我的测试之外,一切都很好。

我得到了警告。

  

1x:“ Symfony \ Bundle \ FrameworkBundle \ Controller \ AbstractController :: get()”方法被认为是最终方法。从下一个主要版本开始,它可能会更改,恕不另行通知。您不应从“ App \ Controller \ ResourceController”扩展它。

这似乎是因为我的route.yaml是

main:
  path: /{path}
  defaults:
    path: ''
  requirements:
    path: '.+'
  methods: [HEAD, GET]
  controller: App\Controller\ResourceController::get

所以我将其切换为

main:
  path: /{path}
  defaults:
    path: ''
  requirements:
    path: '.+'
  methods: HEAD|GET
  controller: App\Controller\ResourceController::getResource

并在ResourceController中更改了函数名称。

如果我运行php ./bin/console server:start,则可以使用该应用程序。

但是我的测试全部报告

5) App\Tests\Model\RDFSourceTest::testGetRDFSourceJSON
InvalidArgumentException: The controller for URI "/nobel_914.ttl" is not callable. Method "get" on class "App\Controller\ResourceController" should be public and non-abstract.

/sw/var/www/trellis-ldp/static-ldp/vendor/symfony/http-kernel/Controller/ControllerResolver.php:88
/sw/var/www/trellis-ldp/static-ldp/vendor/symfony/http-kernel/HttpKernel.php:129
/sw/var/www/trellis-ldp/static-ldp/vendor/symfony/http-kernel/HttpKernel.php:68
/sw/var/www/trellis-ldp/static-ldp/vendor/symfony/http-kernel/Kernel.php:201
/sw/var/www/trellis-ldp/static-ldp/vendor/symfony/http-kernel/Client.php:65
/sw/var/www/trellis-ldp/static-ldp/vendor/symfony/framework-bundle/Client.php:131
/sw/var/www/trellis-ldp/static-ldp/vendor/symfony/browser-kit/Client.php:404
/sw/var/www/trellis-ldp/static-ldp/test/Model/RDFSourceTest.php:77

因此,似乎没有在routes.yaml中进行更改,但是我尝试了composer clear-cachecomposer dump-autoload。我没主意了吗?

0 个答案:

没有答案