Laravel 10 中未检测到 Laravel 模块测试

问题描述 投票:0回答:1

我在我的 Laravel 10 项目上安装了 Laravel 模块。 我在 phpunit 中测试了许多设置来检测模块的测试,但 phpunit 找不到测试。

在 laravel 8 中,这个设置对我有用:

 <coverage processUncoveredFiles="true">
        <include>
            <directory suffix="Test.php">./Modules/**/Tests/Unit/</directory>
            <directory suffix="Test.php">./Modules/**/Tests/Feature/</directory>
        </include>
    </coverage>

但是在 Laravel 10 覆盖标签中会出错。

使用以下代码,测试也无法检测模块的测试:

<testsuite name="Module Tests">
        <directory suffix="Test.php">./Modules/*/Tests</directory>
    </testsuite>

或者

 <testsuite name="Unit">
        <directory>./Modules/**/Tests/Unit</directory>
    </testsuite>
    <testsuite name="Feature">
        <directory>./Modules/**/Tests/Feature</directory>
    </testsuite>
laravel testing phpunit laravel-modules
1个回答
0
投票

对于 Laravel 模块,您可以使用这种方法逐个指定测试套件


    <testsuites>
        <testsuite name="GlobalUnit">
            <directory suffix="Test.php">./tests/Unit</directory>
        </testsuite>
        <testsuite name="GlobalFeature">
            <directory suffix="Test.php">./tests/Feature</directory>
        </testsuite>
        <testsuite name="CoreModule">
            <directory suffix="Test.php">./Modules/Core/Tests</directory>
        </testsuite>
        <testsuite name="UserModule">
            <directory suffix="Test.php">./Modules/User/Tests</directory>
        </testsuite>
    </testsuites>
    <coverage processUncoveredFiles="true">
        <include>
            <directory suffix=".php">./app</directory>
        </include>
    </coverage>
</phpunit>

或使用你的方法

<testsuite name="Unit">
        <directory>./Modules/**/Tests/Unit</directory>
    </testsuite>
    <testsuite name="Feature">
        <directory>./Modules/**/Tests/Feature</directory>
    </testsuite>

    <coverage processUncoveredFiles="true">
        <include>
            <directory suffix=".php">./app</directory>
        </include>
    </coverage>

在第二种方法中,后缀是 .PHP ,这将选择全部。

© www.soinside.com 2019 - 2024. All rights reserved.