Cucumber vs Nose
comparison of testing frameworks
What are the differences between Cucumber and Nose?

Cucumber

Nose

Ruby

Python

Category

Acceptance Testing

Unit Testing, unittest Extensions

General info

An automation tool for Behavior-Driven Development

The specifications are written in plain texts, which allows them to be easily understandable for all stakeholders. Cucumber Framework also supports languages beyond Ruby e.g. Java, JavaScript and Scala.

Nose is a Python unit test framework

This is a Python unit test framework that intergrates well with doctests, unnittests, and 'no-boilerplate tests', that is tests written from scratch without a specific boilerplate.

xUnitSet of frameworks originating from SUnit (Smalltalk's testing framework). They share similar structure and functionality.

No

No

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

Yes

You can test the front-end part like the GUI using cucumber and selenium, they integrate well to test your front-end.

Yes

nose is a unit testing tool which is very similar to unittest. It is basically unittest with extensions therefore just like unittest is can test front-end components and behaviour

Server-sideAllows testing the bahovior of a server-side code

Yes

You can test back-end components such as APIs using rest & soap clients, and databases using whatever client libraries were provided by the libraries that existed in those stacks

Yes

Nose can test back-end components and functionality as small units. One can write tests for each function that provides back-end functionality

FixturesAllows defining a fixed, specific states of data (fixtures) that are test-local. This ensures specific environment for a single test

Yes

nose supports fixtures at the package, module, class, and test case levels, so that initialization which can be expensive is done as infrequently as possible.

Group fixturesAllows 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

Using the cucumber extension aruba you can create fixures in two steps: 1.Create a fixtures-directory; 2.Create fixture files in this directory

Yes

Group fixtures are allowed with nose, where a multitest state can be defined.

GeneratorsSupports 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

You can group your fixtures inside your fixtures directories

Through use of third party libraries like test-generator and from the 'unittest.TestCase' library

LicenceLicence type governing the use and redistribution of the software

MIT License

GNU Library or Lesser General Public License (LGPL) (GNU LGPL)

MocksMocks 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)

Yes

By using all of RSpec’s supported mocking frameworks (RSpec, Mocha, RR, Flexmock)

Knapsack Pro in Queue Mode will split tests in a dynamic way across parallel CI nodes to ensure each CI node finishes work at a similar time.
Thanks to that your CI build time is as fast as possible. It works with many supported CI servers.

We are using CircleCI and we noticed that builds were being limited by the slowest parallelized container. Knapsack Pro was really east to setup and we saw huge improvements right away. Thank you for making this tool!

I just logged into my account expecting it to say that I needed to add a credit card and was so surprised and delighted to see the trial doesn't count usage by calendar days but by testing days! This is incredible! I love it!!!

I just wanted to say that I really appreciate that small but very huge feature. Thank you for being so thoughtful :)