trappar/alice-generator

根据一组对象自动生成alice测试用例

v0.3.1 2019-02-19 18:27 UTC

This package is auto-updated.

Last update: 2024-09-20 06:24:37 UTC


README

递归地将现有对象转换为Alice测试用例。

简介

有时你发现自己在一个没有现有测试用例的大型项目中工作。在这种情况下,尽管Alice使测试用例的编写变得更加容易,但这个过程仍然可能很繁琐。

这个库提出了一种不同的起点——从你的现有数据自动生成测试用例。

这为建立测试数据开辟了一个全新的、更快的方法……只需在用户界面中输入即可!

示例

假设你有以下对象

<?php
class Post {
    public $title;
    public $body;
    public $postedBy;
}

class User {
    public $username;
}

$user = new User();
$user->username = 'Trappar';

$post1 = new Post();
$post1->title = 'Is Making Fixtures Too Time Consuming?';
$post1->body = 'Check out Alice!';
$post1->postedBy = $user;

$post2 = new Post();
$post2->title = 'Too Much Data to Hand Write?';
$post2->body = 'Check out AliceGenerator!';
$post2->postedBy = $user;

这个库让你可以直接将其转换为...

Post:
    Post-1:
        title: 'Is Making Fixtures Too Time Consuming?'
        body: 'Check out Alice!'
        postedBy: '@User-1'
    Post-2:
        title: 'Too Much Data to Hand Write?'
        body: 'Check out AliceGenerator!'
        postedBy: '@User-1'
User:
    User-1:
        username: Jeff

安装

您可以使用Composer将库安装到项目中

composer require trappar/alice-generator

功能

  • 框架支持
    • 支持通过AliceGeneratorBundle的Symfony - 不需要任何自定义代码即可立即开始生成测试用例!
  • ORM支持
    • 原生支持Doctrine
    • 可以在没有ORM的情况下运行
    • 可以扩展以支持任何ORM
  • 许多方法可以用于Faker提供者的利用
  • 使用注解或YAML元数据配置对象序列化方式
  • 可以使用自定义ObjectHandlers序列化任何对象类型
  • 支持多级递归驯服
    • 自动处理循环引用
    • 可自定义最大递归深度
    • 可以限制对象遍历仅限于特定类型的对象
  • 原生支持多种Alice引用命名方法 - 完全可自定义

目录

资源

致谢

此组件由Jeff Way开发,受到了很多来自以下项目的启发:

其他贡献者.

许可

license