📡 You're offline — showing cached content
New version available!
Quick Access
Tutorials CodeIgniter 4 CI4 Testing Models

CI4 Testing Models

6 min read Quiz at the end
Test CI4 models with DatabaseTestTrait — seed data, insert records, and assert DB state.

Testing Models

use CodeIgniter\Test\CIUnitTestCase;
use CodeIgniter\Test\DatabaseTestTrait;

class PostModelTest extends CIUnitTestCase {
    use DatabaseTestTrait;
    protected $migrate = true;
    protected $seed    = "TestSeeder";

    public function testCreatePost(): void {
        $id = model(PostModel::class)->insert([
            "title"   => "Test Post",
            "body"    => "Content",
            "user_id" => 1,
        ]);
        $this->seeInDatabase("posts", ["title"=>"Test Post"]);
    }
}