【问题标题】:How to create Laravel route only for testing (phpunit)?如何创建仅用于测试的 Laravel 路由(phpunit)?
【发布时间】:2018-10-21 03:10:18
【问题描述】:

我想测试我的解析器。有没有办法创建路由并在该路由上返回内容 - 仅用于 phpunit 测试?

【问题讨论】:

    标签: laravel laravel-5 phpunit


    【解决方案1】:

    测试的目的是模仿实时应用程序的功能。 (这将是功能测试或可能使用 Dusk)。如果您需要获取无法通过常规路线访问的数据,您可能正在进行单元测试(针对特定的类或对象)。这不需要路由。

    【讨论】:

    • 我有一个解析器,它从数据库中获取 url,然后转到该 url 并解析数据并保存在数据库中。对于测试,我想将我的测试 url 插入到 DB 中,这将返回一些用于解析器的代码,然后如果解析器解析并正确保存数据,我可以检查数据库。
    • 那么您需要初始路线才能进入您的数据库吗?使用播种机。
    • 不,我需要解析器 curl 的路由。路由将返回内容供解析器解析。
    • 但这不会发生在您的实时站点中吗?
    • 在你的路由中,使用if ( env('ENVIRONMENT') != 'production' ) { ... your routes ... }
    【解决方案2】:

    您可以创建单独的文件仅用于测试路线。

    然后仅在开发环境中包含这些路由,或者仅在生产环境中排除它们......

    【讨论】:

    • 在您的/routes/web.php 中,您可以添加条件if ( env('ENVIRONMENT') != 'production' ) { include_once('test_routes.php') } 并在此文件(test_routes.php)中声明您的测试路线...
    猜你喜欢
    • 1970-01-01
    • 2014-12-10
    • 2020-11-11
    • 2018-01-26
    • 2017-04-02
    • 2021-04-24
    • 2013-12-06
    • 2022-11-18
    • 1970-01-01
    相关资源
    最近更新 更多