Php 在另一个类中使用语句
我正在学习Laracast教程,该教程建议我让语句Php 在另一个类中使用语句,php,laravel,phpunit,Php,Laravel,Phpunit,我正在学习Laracast教程,该教程建议我让语句使用DatabaseTransactions在我的测试类定义中,允许测试用例中的数据更改将仅在该情况下持续。 我有一个测试班 Class MyClassTest extends TestCase { // This use statement is responsible for //all the data operations to persists only with in that test case
使用DatabaseTransactions代码>在我的测试类定义中,允许测试用例中的数据更改将仅在该情况下持续。
我有一个测试班
Class MyClassTest extends TestCase
{
// This use statement is responsible for
//all the data operations to persists only with in that test case
use DatabaseTransactions;
/**
* @test
*/
public function my_test_function()
{
// My test case code. Which inserts/updates
//data and assert statement.
}
}
use DatabaseTransactions
的工作方式是,方法中的数据更改仅在该方法中持续。这到底是如何工作的?进一步说,DatabaseTransactions
是trait,它包含beginDatabaseTransaction
方法和@before
注释
- 在测试类中有一个
use-DatabaseTransactions
,可以让该类拥有该方法
- 由于方法
beginDatabaseTransaction
包含一个@before
注释,因此它将在每个测试用例之前执行
- 下面是在测试用例完成之前开始事务并回滚现有事务的方法定义(尚不清楚为什么应在测试用例完成之前调用
@before
)
@以前
公共函数beginDatabaseTransaction()
{
}
进一步说,DatabaseTransactions
是trait,它包含方法beginDatabaseTransaction
,前面有@注释
- 在测试类中有一个
use-DatabaseTransactions
,可以让该类拥有该方法
- 由于方法
beginDatabaseTransaction
包含一个@before
注释,因此它将在每个测试用例之前执行
- 下面是在测试用例完成之前开始事务并回滚现有事务的方法定义(尚不清楚为什么应在测试用例完成之前调用
@before
)
@以前
公共函数beginDatabaseTransaction()
{
}
…再多一点上下文和代码示例会有帮助……再多一点上下文和代码示例会有帮助。。。
$this->app->make('db')->beginTransaction();
$this->beforeApplicationDestroyed(function () {
$this->app->make('db')->rollBack();
});