所以,在Laravel 5.3我有以下測試:數據庫事務並不妨礙ID增量在Laravel測試時
class ArticleTest extends TestCase
{
use DatabaseTransactions;
/** @test */
public function it_fetches_trending_articles()
{
factory(Article::class, 3)->create();
factory(Article::class)->create(['reads' => 10]);
$mostPopular = factory(Article::class)->create(['reads' => 20]);
$articles = Article::trending();
$this->assertEquals($mostPopular->id, $articles->first()->id);
}
}
這是怎麼回事上創建3篇文章沒有「讀」信息,一個文章有10個閱讀和一個有20個閱讀。我得到的文章,按'讀'命令,並採取第一個,並聲稱它的ID是相等的,我敢肯定是最趨勢。測試通過,一切正常。
但問題在於DatabaseTransactions特徵不能按預期工作。是的,它不會將文章保存到數據庫,但它會不斷增加每次測試運行時的id數。
如果你給我一些關於如何防止這種行爲的建議,那將是非常好的。
在此先感謝。 :)
「問題雖然,」---爲什麼它是一個問題? – zerkms
對我來說這似乎是錯誤的,但現在,當我想起它時,這不是一個問題,但是事情是如何工作的...... – brslv