Test Views with Laravel Mojito
Published on by Paul Redmond
Laravel Mojito is a lightweight package for testing Laravel views in isolation. Here’s an example of basic usage from the readme:
class WelcomeTest extends TestCase{ // First, add the `InteractsWithViews` trait to your test case class. use InteractsWithViews; public function testDisplaysLaravel() { // Then, get started with Mojito using the `assertView` method. $this->assertView('welcome')->contains('Laravel'); }}
You can also use this package in HTTP tests:
$response = $this->get('/'); $response->assertStatus(200); $response->assertView()->contains('Laravel');
The API includes the following features at the time of writing:
-
contains()
– assert the view has the given text -
has()
– assert the view has the given selector -
hasAttribute()
– assert an element has the given attribute value -
hasClass()
– assert the view has an element with the given class -
hasLink()
– assert the view has an element with the given link
Here’s some more examples of the package methods:
// contains$this->assertView('button')->contains('Click me'); // has$this->assertView('welcome')->in('body')->has('.content') // hasAttribute$this->assertView('button')->hasAttribute('attribute', 'value'); // hasClass$this->assertView('button')->hasClass('btn'); // hasLink$this->assertView('button')->hasLink(route('welcome'));
You can learn more about this package, get full installation instructions, and view the source code on GitHub at nunomaduro/laravel-mojito.