Knapsack Pro

StoryPlayer vs Lens comparison of testing frameworks
What are the differences between StoryPlayer and Lens?

StoryPlayer

http://datasift.github.io/storyplayer/

Lens

https://github.com/spencer-mortensen/lens
Programming language

PHP

PHP

Category

Unit testing, Functional Testing

Unit Testing

General info

Storyplayer is a full-stack testing framework

Storyplayer follows a TDD testing approach and makes it possible to write end-to-end tests for an entire platform. It has support for creating and destroying test environments on demand

Lens is a unit-testing framework for PHP

Lens is a unit-testing framework for PHP that needs no assertions
xUnit
Set of frameworks originating from SUnit (Smalltalk's testing framework). They share similar structure and functionality.

No

N/A

Client-side
Allows testing code execution on the client, such as a web browser

Yes

By running a 'user story' which is a simple statement that describes one action, and who can perform that action then record of the conversations about this action, this is how you would test front-end functionality and components

Yes

It can test front end components
Server-side
Allows testing the bahovior of a server-side code

Yes

By writing a 'service story' which is a 'userstory' except it describes the behaviour of your back-end systems

Yes

It can test back-end behaviour
Fixtures
Allows defining a fixed, specific states of data (fixtures) that are test-local. This ensures specific environment for a single test

Yes

Storyplayer has fixtures that can create and destroy test environments on demand

N/A

Group fixtures
Allows defining a fixed, specific states of data for a group of tests (group-fixtures). This ensures specific environment for a given group of tests.

Yes

It supports group fixtures

N/A

Generators
Supports data generators for tests. Data generators generate input data for test. The test is then run for each input data produced in this way.

Yes

foreach(hostWithRole()) is a generator allows you to easily perform actions against all hosts in your test environment without having to hard-code the host IDs or hostnames into your story.

N/A

Licence
Licence type governing the use and redistribution of the software

New BSD License

N/A

Mocks
Mocks are objects that simulate the behavior of real objects. Using mocks allows testing some part of the code in isolation (with other parts mocked when needed)

By using a library like mockery which intergrates well with storyplayer

N/A

Grouping
Allows organizing tests in groups

Yes

Storyplayer’s job is to execute a suite of functional tests

N/A

Other
Other useful information about the testing framework