Skip to content

Commit f22b615

Browse files
committed
Merge pull request #55 from countless-integers/patch-1
Update Test.md
2 parents f33a36f + 6efce52 commit f22b615

1 file changed

Lines changed: 39 additions & 40 deletions

File tree

src/AspectMock/Test.php

Lines changed: 39 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
/**
1111
* `AspectMock\Test` class is a builder of test doubles.
1212
* Any object can be enhanced and turned to a test double with the call to `double` method.
13+
* Mocking abstract classes and interfaces is not supported at this time.
1314
* This allows to redefine any method of object with your own, and adds mock verification methods.
1415
*
1516
* **Recommended Usage**:
@@ -23,14 +24,14 @@
2324
class Test {
2425

2526
/**
26-
* test::double registers class or object to track its calls.
27+
* `test::double` registers class or object to track its calls.
2728
* In second argument you may pass values that mocked mathods should return.
2829
*
29-
* Returns either of [**ClassProxy**](https://github.com/Codeception/AspectMock/blob/master/docs/ClassProxy.md)
30-
* or [**InstanceProxy**](https://github.com/Codeception/AspectMock/blob/master/docs/InstanceProxy.md).
31-
* Proxies are used to verify method invocations, and some other useful things.
30+
* Returns either of [**ClassProxy**](https://github.com/Codeception/AspectMock/blob/master/docs/ClassProxy.md) (when a string was passed)
31+
* or [**InstanceProxy**](https://github.com/Codeception/AspectMock/blob/master/docs/InstanceProxy.md) (when an object was passed).
32+
* Proxies are used to verify method invocations, and some other useful things (check out the links above for more).
3233
*
33-
* Example:
34+
* Examples:
3435
*
3536
* ``` php
3637
* <?php
@@ -69,14 +70,13 @@ class Test {
6970
* # create an instance of mocked class
7071
* test::double('User')->construct(['name' => 'davert']); // via constructir
7172
* test::double('User')->make(); // without calling constructor
72-
*
73+
*
7374
* # stub for magic method
7475
* test::double('User', ['findByUsernameAndPasswordAndEmail' => false]);
75-
* User::findByUsernameAndPasswordAndEmail; // null
76-
*
76+
* User::findByUsernameAndPasswordAndEmail(); // null
77+
*
7778
* # stub for method of parent class
7879
* # if User extends ActiveRecord
79-
*
8080
* test::double('ActiveRecord', ['save' => false]);
8181
* $user = new User(['name' => 'davert']);
8282
* $user->save(); // false
@@ -85,12 +85,12 @@ class Test {
8585
* ```
8686
*
8787
* @api
88-
* @param $classOrObject
89-
* @param array $params
88+
* @param string|object $classOrObject
89+
* @param array $params [ 'methodName' => 'returnValue' ]
9090
* @throws \Exception
91-
* @return Verifier
91+
* @return Verifier Usually Proxy\ClassProxy|Proxy\InstanceProxy
9292
*/
93-
public static function double($classOrObject, $params = array())
93+
public static function double($classOrObject, array $params = array())
9494
{
9595
$classOrObject = Registry::getRealClassOrObject($classOrObject);
9696
if (is_string($classOrObject)) {
@@ -120,22 +120,21 @@ public static function double($classOrObject, $params = array())
120120
* ?>
121121
* ```
122122
*
123-
* You can create instances of undefined classes and play with them.
123+
* You can create instances of undefined classes and play with them:
124124
*
125125
* ``` php
126126
* <?php
127127
* $user = test::spec('User')->construct();
128128
* $user->setName('davert');
129129
* $user->setNumPosts(count($user->getPosts()));
130130
* $this->assertEquals('davert', $user->getName()); // fail
131-
*
132131
* ?>
133132
* ```
134133
*
135-
* The test will be executed normally and will fail on the first assertion.
134+
* The test will be executed normally and will fail at the first assertion.
136135
*
137136
* `test::spec()->construct` creates an instance of `AspectMock\Proxy\Anything`
138-
* which tries to not cause errors whatever you try to do with it.
137+
* which tries not to cause errors whatever you try to do with it.
139138
*
140139
* ``` php
141140
* <?php
@@ -148,27 +147,26 @@ public static function double($classOrObject, $params = array())
148147
* ?>
149148
* ```
150149
*
151-
* None of this calls will trigger error on your test.
150+
* None of those calls will trigger an error in your test.
152151
* Thus, you can write a valid test before the class is declared.
153152
*
154153
* If class is already defined, `test::spec` will act as `test::double`.
155154
*
156155
* @api
157-
* @param $classOrObject
156+
* @param string|object $classOrObject
158157
* @param array $params
159-
* @return Verifier
160-
*
158+
* @return Verifier Usually Proxy\ClassProxy|Proxy\InstanceProxy
161159
*/
162-
public static function spec($classOrObject, $params = array())
160+
public static function spec($classOrObject, array $params = array())
163161
{
164162
if (is_object($classOrObject)) return self::double($classOrObject, $params);
165163
if (class_exists($classOrObject)) return self::double($classOrObject, $params);
166-
164+
167165
return new AnythingClassProxy($classOrObject);
168166
}
169167

170168
/**
171-
* Replaces all methods in a class with a dummies, except specified.
169+
* Replaces all methods in a class with dummies, except those specified in the `$only` param.
172170
*
173171
* ``` php
174172
* <?php
@@ -179,19 +177,19 @@ public static function spec($classOrObject, $params = array())
179177
* ?>
180178
* ```
181179
*
182-
* You can create a dummy without a constructor with all methods disabled
180+
* You can create a dummy without a constructor with all methods disabled:
183181
*
184182
* ``` php
185183
* <?php
186184
* $user = test::double('User')->make();
187185
* test::methods($user, []);
188186
* ?>
189187
* ```
190-
*2
188+
*
191189
* @api
192-
* @param $classOrObject
193-
* @param array $only
194-
* @return Core\ClassProxy|Core\InstanceProxy
190+
* @param string|object $classOrObject
191+
* @param string[] $only
192+
* @return Verifier Usually Proxy\ClassProxy|Proxy\InstanceProxy
195193
* @throws \Exception
196194
*/
197195
public static function methods($classOrObject, array $only = array())
@@ -215,7 +213,7 @@ public static function methods($classOrObject, array $only = array())
215213
}
216214

217215
/**
218-
* Replaces function in provided namespace with user-defined function or value that function returns;
216+
* Replaces function in provided namespace with user-defined function or value that function returns.
219217
* Function is restored to original on cleanup.
220218
*
221219
* ```php
@@ -234,7 +232,7 @@ public static function methods($classOrObject, array $only = array())
234232
*
235233
* ```
236234
*
237-
* Mocked functions can be verified for calls.
235+
* Mocked functions can be verified for calls:
238236
*
239237
* ```php
240238
* <?php
@@ -245,15 +243,15 @@ public static function methods($classOrObject, array $only = array())
245243
* $func->verifyInvokedOnce(['Y']);
246244
* ```
247245
*
248-
* @param $namespace
249-
* @param $function
250-
* @param $body
246+
* @param string $namespace
247+
* @param string $functionName
248+
* @param mixed $body whatever a function might return or Callable substitute
251249
* @return Proxy\FuncProxy
252250
*/
253-
public static function func($namespace, $function, $body)
251+
public static function func($namespace, $functionName, $body)
254252
{
255-
Core\Registry::registerFunc($namespace, $function, $body);
256-
return new Proxy\FuncProxy($namespace, $function);
253+
Core\Registry::registerFunc($namespace, $functionName, $body);
254+
return new Proxy\FuncProxy($namespace, $functionName);
257255
}
258256

259257
/**
@@ -276,22 +274,23 @@ public static function func($namespace, $function, $body)
276274
* ```
277275
*
278276
* @api
277+
* @param string|object $classOrObject
278+
* @return void
279279
*/
280280
public static function clean($classOrInstance = null)
281281
{
282282
Core\Registry::clean($classOrInstance);
283283
}
284284

285-
/*
285+
/**
286286
* Clears mock verifications but not stub definitions.
287287
*
288-
*
289288
* @api
289+
* @return void
290290
*/
291291
public static function cleanInvocations()
292292
{
293293
Core\Registry::cleanInvocations();
294294
}
295295

296-
297296
}

0 commit comments

Comments
 (0)