我在运行测试套件时遇到问题,我需要运行 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
断言权限可用。