phpunit XML 顺序测试问题



我在运行测试套件时遇到问题,我需要运行 OperatorUserTest.php首先设置用户权限,我希望我能做这样的事情

 <testsuite name="Operator Test Suite">
        <file>./tests/Users/OperatorUserTest.php</file>
        <directory>./tests/Projects</directory>
        <directory>./tests/Operators/UnitTesting</directory>
    </testsuite>

但是上述错误由于某种原因文件没有完全运行,并且在完成之前调用了运算符/单元测试目录。下面的代码工作正常。

  <testsuite name="Operator Test Suite">
        <directory>./tests/Users</directory>
        <exclude>
            <file>./tests/Users/UserTest.php</file>
        </exclude>
        <directory>./tests/Projects</directory>
        <directory>./tests/Operators/UnitTesting</directory>
    </testsuite>

我先使用文件做错了吗?谢谢

我假设这些权限存储在数据库中,这是正确的吗?

如果需要在每次测试之前

执行任务,即在数据库表中填充用户的权限,则应使用在每次测试之前运行的setup()方法。

Laravel也为此提供了一些帮助。RefreshDatabase特征将分别在测试之前和之后运行迁移和回滚。

然后,您可以使用 assertDatabaseHas 断言权限可用。

最新更新