На тостере в комментариях к вопросу спросили, как получить mock ActiveRecord, чтобы он не пытался лезть в базу и возможно ли.
Возможно. В случае PHPUnit делается так:
$post = $this->getMockBuilder('\app\model\Post') ->setMethods(['save', 'attributes']) ->getMock(); $post->method('save')->willReturn(true); $post->method('attributes')->willReturn([ 'id', 'status', 'title', 'description', 'text' ]);
Особенность заключается в том, что перекрыть надо ещё и метод attributes()
потому как ActiveRecord лезет за схемой в базу данных, что нам не нужно.