jaschweder / mock
模拟帮助类和函数
该软件包的规范仓库似乎已不存在,因此该软件包已被冻结。
v1.7.1
2016-09-27 17:24 UTC
Requires
- php: >=5.5.9
- jaschweder/helpers: ~1.0
Requires (Dev)
- phpunit/phpunit: ~4.8
This package is not auto-updated.
Last update: 2024-01-20 15:45:01 UTC
README
类和函数,帮助您进行测试
安装
composer require jaschweder/mock
入门
工厂
// Create your mock container $container = new Jaschweder\Mock\Container\ArrayContainer; // Create a new instance of Jaschweder\Mock\Factory $factory = new Jaschweder\Mock\Factory($container); // or use the global factory() function factory();
与内部类型一起使用
// Strings $factory->register('key', 'value'); $factory->mock('key'); // 'value' // Numbers $factory->register('key', 123); $factory->mock('key'); // 123 // Booleans $factory->register('key', true); $factory->mock('key'); // true // Arrays $factory->register('key', ["foo" => "bar"]); $factory->mock('key'); // ["foo" => "bar"]
与对象一起使用
// Push User instance generator to key 'User' $factory->register('User', function() { $user = new User; $user->setEmail('user@example.com'); $user->setPassword('secret'); return $user; }); // Get new instance of class User $user = $factory->mock('User'); // Get 3 instances of class User $users = $factory->mock('User', 3);
您可以创建现有模拟的变体
// Register a new mock who receive has parameter a mock of 'User' instance $factory->register('User@admin', function($user) { $user->isAdmin = true; return $user; }); // Get new instance of class User who is admin $admin = $factory->mock('User@admin');
与 Faker 一起使用
// Create a new Faker\Factory instance $faker = Faker\Factory::create(); $factory->register('User', function() { $user = new User; $user->setEmail($faker->freeEmail); $user->setPassword($faker->md5); return $user; }); // Get new instance of class User with random data $user = $factory->mock('User');
模拟对象和方法
// Create a mock object $mock = new Jaschweder\Mock\Object; $mock->method('foo')->result('bar'); echo $mock->foo(); //'bar'
作者
Jonathan A. Schweder jonathanschweder@gmail.com