phpunit xml顺序测试问题

时间:2018-01-18 20:38:06

标签: php laravel phpunit

我在运行测试套件时遇到问题,我需要首先运行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>

我首先使用该文件有问题吗?感谢

1 个答案:

答案 0 :(得分:0)

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

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

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

然后,您可以使用assertDatabaseHas声明权限可用。