holyshared / file-fixture
用于unittest的简单文件固定加载器
2.0.2
2017-01-20 01:44 UTC
Requires
- php: >=5.6.0
- easyframework/collections: ^6.0 | ^7.0
- eloquent/pathogen: ~0.6
- league/climate: ~3.2
- mustache/mustache: ~2.11
- yosymfony/toml: ~0.3
Requires (Dev)
- cloak/peridot-cloak-plugin: ~2.0
- cloak/robo-coveralls-kit: ~2.1
- codegyre/robo: ~0.7
- expect/peridot-expect-plugin: ~4.0
- peridot-php/peridot: ~1.18
- peridot-php/peridot-dot-reporter: ~1.0
- phpspec/prophecy: ~1.6
README
用于unittest的简单文件固定加载器。
您可以轻松加载基于测试的固定数据。
目录
基本用法
您将能够通过四个步骤加载固定数据。
- 创建容器加载器
- 创建容器固定数据
- 创建FileFixture
- 从容器加载固定数据。
$loaders = new LoaderContainer([ new TextLoader() ]); $fixtures = new FixtureContainer([ 'text:default:readme' => __DIR__ . '/README.md' ]); $fixture = new FileFixture($fixtures, $loaders); $content = $fixture->load('text:default:readme'); print $content;
加载器与文本数据、mustache模板、ASCII艺术兼容。
- TextLoader - 加载文本数据。
- MustacheLoader - 加载mustache模板
- ArtLoader - 加载ASCII艺术。
终端输出固定数据
使用ArtLoader,您可以加载带颜色的文本数据。
创建固定数据文件
创建固定数据文件。
在标签中标记文本以应用颜色。
<green>#######</green>
<green>#</green>
<green>#</green>
<green>#####</green>
<green>#</green>
<green>#</green>
<green>#</green>
输出固定数据的加载
$loaders = new LoaderContainer([ new ArtLoader(new MustacheLoader(new TextLoader())) ]); $fixtures = new FixtureContainer([ 'art:default:header' => __DIR__ . '/art.txt' ]); $fixture = new FileFixture($fixtures, $loaders); $content = $fixture->load('art:default:header'); print $content;
配置文件
使用配置文件,您可以轻松加载固定数据。
示例:加载模板的mustache
创建固定数据模板
{{name}} task was successful.
创建固定数据的配置文件
固定数据的名称必须以加载器的名称开头。
[mustache.default] successMessage = "template.ms"
该固定数据的名称将是mustache:default:successMessage。
加载固定数据
通过指定名称来加载固定数据。
加载成功时,将返回已处理的mustache模板的结果。
$textLoader = new TextLoader(); $loaders = new LoaderContainer([ $textLoader, new MustacheLoader($textLoader) ]); $factory = new FixtureContainerFactory(); $fixtures = $factory->createFromFile(__DIR__ . '/fixtures.toml'); $fixture = new FileFixture($fixtures, $loaders); $content = $fixture->load('mustache:default:successMessage', [ 'name' => 'build' ]); print $content;
贡献者
- Jérémy Marodon (@Th3Mouk)