[Day 26] 针对View来作测试

验证view的资料

我们也可以针对view来做测试,
透过Laravel提供的测试方法,
我们可以不用透过http的方式,
直接传参数给view来测试是否符合我们预期的结果

<?php

namespace Tests\Feature;

use Tests\TestCase;

class ExampleTest extends TestCase
{
    public function test_a_welcome_view_can_be_rendered()
    {
        $view = $this->view('welcome', ['name' => '小鱼']);

        $view->assertSee('小鱼');
    }
}

除了assertSee之外,
Laravel还提供了其他常用的方法

方法 说明
assertSee 指定字串包含在回应当中
assertSeeInOrder 指定的字串阵列依序出现在回应当中
assertSeeText 指定字串包含在回应文字内容当中
assertSeeTextInOrder 指定的字串阵列依序出现在回应文字内容当中
assertDontSee 指定字串不包含在回应当中
assertDontSeeText 指定字串不包含在回应文字内容当中

另外我们也可以把view转换成字串来做处理

$contents = (string) $this->view('welcome');

验证错误讯息的模组

通常我们的表单当中可能会包含验证模组,
我们可以来测试我们的模组

$view = $this->withViewErrors([
    'name' => ['Please provide a valid name.']
])->view('form');

$view->assertSee('Please provide a valid name.');

自己写blade语法来做验证

我们也可以自己写blade语法,
然後传参数进去验证这个语法是否正确

$view = $this->blade(
    '<x-component :name="$name" />',
    ['name' => 'Taylor']
);

$view->assertSee('Taylor');

我们到目前为止整理了不少测试的方法,
想要知道更多方法的可以参考 Laravel官方文件
明天开始我们会开始来探讨Laravel Dusk跟ChromeDriver的用法。


<<:  Day 12:为 Hexo 装设 Google Analytics,追踪你的部落格流量(使用 Next 布景主题)

>>:  日月千禧酒店 Soluna - All Day Dining 飨乐全日餐厅 - 午餐 Buffet at Millennium Hotel Taichung

R语言-5-套件 & 解题去

看起来很废话但是很实际 使用套件前,要先安装套件 安装完成之後要使用套件要先载入套件 library...

Day05-入口管制(四)

前言 前面几天谈的都是纯文字的资料验证,像是信箱、电话等等,但很多 API server 除了文字资...

Gulp 一键部属到 Github Pages DAY93

在介绍 gulp-gh-pages 之前 我们必须先在 GitHub 上新增一个远端数据库 点选 N...

【Day 08】工厂方法设计模式(Python)

前言 上一篇我们讨论DDD的战术设计,它建议引用各种设计模式,提高生产力,因此接下来,就来介绍各种设...

DAY 27『 使用相机拍照 』 ImagePicker - Part1

今天分享 ImagePicker 如何使用相机拍照 拉一个 Button 、 ImageView 在...