savvywombat/laravel-assert-selector-contains 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

savvywombat/laravel-assert-selector-contains

最新稳定版本:1.3.1

Composer 安装命令:

composer require savvywombat/laravel-assert-selector-contains

包简介

Targeted content assertions using CSS selector expressions

README 文档

README

Latest Version on Packagist Supported PHP Version Software License Build Code Coverage

Targeted content assertions using CSS selector expressions.

Laravel's built-in assertSee is useful, but has some limitations:

  1. It makes a string match against the whole document, and could produce false positives.
  2. It is hard to assert if specific items have been correctly set (page titles, input labels, etc)
  3. When the assertion fails, it outputs the whole HTML document to the console.

This package provides a collection of additional assertions available on Laravel's TestResponse to help target specific elements/attributes and improve message on failure.

assertSelectorExists($selector)
assertSelectorDoesNotExist($selector)

assertSelectorContains($selector, $value)
assertSelectorDoesNotContain($selector, $value)

assertSelectorAttributeExists($selector, $attribute)
assertSelectorAttributeDoesNotExist($selector, $attribute)

assertSelectorAttributeEquals($selector, $attribute, $value)
assertSelectorAttributeDoesNotEqual($selector, $attribute, $value)

assertSelectorAttributeContains($selector, $attribute, $value)
assertSelectorAttributeDoesNotContain($selector, $attribute, $value)

So, if you want to make sure that you are correctly setting the document title:

$response->assertSelectorContains('title', 'Welcome');

If you want to assert that a label has been set for a specific form input:

$response->assertSelectorExists('label[for=input-id]');

Or if a specific input has been set with the correct initial value:

$response->assertSelectorAttributeEquals('input[name=display_name]', 'value', 'SavvyWombat');

Installation

This package is available using Composer.

composer require --dev savvywombat/laravel-assert-selector-contains

Usage

namespace Tests\Feature;

use SavvyWombat\LaravelAssertSelectorContains\AssertsWithSelectors;
use Tests\TestCase;

class ExampleTest extends TestCase
{
  use AssertsWithSelectors;

  public function testDocumentTitleIsCorrect(): void
  {
    $response = $this->get('/');
    
    $response->assertSelectorContains('title', 'Welcome');
  }
}

Credit

This package was inspired by a blog post from Liam Hammett:

Laravel Testing CSS Selector Assertion Macros

Support

Please report issues using the GitHub issue tracker. You are also welcome to fork the repository and submit a pull request.

Licence

This package is licensed under The MIT License (MIT).

统计信息

  • 总下载量: 8.65k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 3
  • 点击次数: 4
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 3
  • Watchers: 1
  • Forks: 2
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2022-09-16

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固