我在运行测试套件时遇到问题,我需要首先运行OperatorUserTest.php来设置用户权限,我希望我可以做这样的事情
<testsuite name="Operator Test Suite">
<file>./tests/Users/OperatorUserTest.php</file>
<directory>./tests/Projects</directory>
<directory>./tests/Operators/UnitTesting</directory>
</testsuite>
但上述错误由于某种原因文件没有完全运行,并且在完成之前调用了operator / UnitTesting目录。下面的代码工作正常。
<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>
我首先使用该文件有问题吗?感谢
答案 0 :(得分:0)
我假设这些权限存储在数据库中,这是正确的吗?
如果您需要在每次测试之前执行任务,即在数据库表中填充用户的权限,则应使用在每次测试之前运行的setup()
方法。
Laravel也为此提供了一些帮助。 RefreshDatabase
特征将分别在测试之前和之后运行迁移和回滚。
然后,您可以使用assertDatabaseHas
声明权限可用。