createMock(Renderer::class); /** @var SwiftMailer|MockObject $swiftMailer */ $swiftMailer = $this->createMock(SwiftMailer::class); /** @var EngelsystemMailer|MockObject $mailer */ $mailer = $this->getMockBuilder(EngelsystemMailer::class) ->setConstructorArgs(['mailer' => $swiftMailer, 'view' => $view]) ->setMethods(['send']) ->getMock(); $mailer->expects($this->once()) ->method('send') ->with('foo@bar.baz', 'Lorem dolor', 'Rendered Stuff!') ->willReturn(1); $view->expects($this->once()) ->method('render') ->with('test/template.tpl', ['dev' => true]) ->willReturn('Rendered Stuff!'); $return = $mailer->sendView('foo@bar.baz', 'Lorem dolor', 'test/template.tpl', ['dev' => true]); $this->equalTo(1, $return); } }