+ All Categories
Home > Internet > Mock objects in PHPUnit

Mock objects in PHPUnit

Date post: 17-Jul-2015
Category:
Upload: rinat-khabibiev
View: 134 times
Download: 1 times
Share this document with a friend
Popular Tags:
21
PHPUnit: Mock Objects Rinat Khabibiev
Transcript

PHPUnit: Mock ObjectsRinat Khabibiev

* www.ExigenServices.com

PHPUNIT: MOCK OBJECTS

• objects supplies non-deterministic results

• has states that are difficult to create or reproduce

• slow

• does not yet exist

• would have to include information and methods exclusively

for testing purposes

Difficulties when writing Unit Tests

* www.ExigenServices.com

PHPUNIT: MOCK OBJECTS

Code example: MyClass

* www.ExigenServices.com

PHPUNIT: MOCK OBJECTS

Code example: MyClassTest

* www.ExigenServices.com

PHPUNIT: MOCK OBJECTS

getMock definition

* www.ExigenServices.com

PHPUNIT: MOCK OBJECTS

• getMockBuilder($classname)

• setMethods($methods)

• setConstructorArgs($args)

• setMockClassName($name)

• disableOriginalConstructor()

• disableOriginalClone()

• disableAutoload()

• getMock()

Chaining: getMockBuilder

* www.ExigenServices.com

PHPUNIT: MOCK OBJECTS

Chaining: getMockBuilder, examples

* www.ExigenServices.com

PHPUNIT: MOCK OBJECTS

• getMock()

• getMockBuilder()

• getMockClass()

• getMockForAbstractClass()

• getMockFromWsdl()

Ways to get mock

* www.ExigenServices.com

PHPUNIT: MOCK OBJECTS

Method call expectation

* www.ExigenServices.com

PHPUNIT: MOCK OBJECTS

• any()

• once()

• never()

• atLeastOnce()

• exactly($count)

• at($index)

Asserting the number and order of method calls

* www.ExigenServices.com

PHPUNIT: MOCK OBJECTS

Method calls order

* www.ExigenServices.com

PHPUNIT: MOCK OBJECTS

Stubs

* www.ExigenServices.com

PHPUNIT: MOCK OBJECTS

• returnValue($value)

• returnArgument($index)

• returnSelf()

• returnValueMap($map)

• returnCallback($callback)

• onConsecutiveCalls()

• throwException($exception)

Various behaviors of stubs

* www.ExigenServices.com

PHPUNIT: MOCK OBJECTS

Asserting method's arguments

* www.ExigenServices.com

PHPUNIT: MOCK OBJECTS

Usable constraints for checking arguments

• attribute()

• anything()

• arrayHasKey()

• contains()

• equalTo()

• attributeEqualTo()

• fileExists()

• greaterThan()

• greaterThanOrEqual()

• classHasAttribute()

• classHasStaticAttribute()

• hasAttribute()

• identicalTo()

• isFalse()

• isInstanceOf()

• isNull()

• isTrue()

• isType()

• lessThan()

• lessThanOrEqual()

• matchesRegularExpression()

• stringContains()

* www.ExigenServices.com

PHPUNIT: MOCK OBJECTS

Logical combination of constraints

• logicalAnd()

• logicalOr()

• logicalNot()

• logicalXor()

* www.ExigenServices.com

PHPUNIT: MOCK OBJECTS

Example

* www.ExigenServices.com

PHPUNIT: MOCK OBJECTS

Stubbing of static methods

* www.ExigenServices.com

PHPUNIT: MOCK OBJECTS

Impossible

Stubbing of private methods

* www.ExigenServices.com

PHPUNIT: MOCK OBJECTS

Impossible

Stubbing of functions

* www.ExigenServices.com

PHPUNIT: MOCK OBJECTS

The end


Recommended