Cucumber a tool based on Behaviour Driven Development (BDD) framework which is used to write acceptance tests for web application. Behaviour Driven Development is extension of Test Driven Development and it is used to test the system rather than testing the particular piece of code. It allows automation of functional validation in easily readable and understandable format to Business Analysts, Developers, Testers, etc. Cucumber feature files can serve as a good document for all.
Initially Cucumber was implemented in Ruby and then extended to Java framework. Both the tools support native JUnit. Cucumber can be used along with Selenium, Watir, and Capybara etc. It supports many languages like java, Perl, PHP, Python, .Net etc.
One can use it more in different project environments., as it is very easy to learn and implement. One should apply BDD framework to API automation.The inbuilt runner for cucumber is JUnit but we can also use testng with it. BDD is most promising framework in industry because it shows interactions between a BA and automation engineer. Cucumber is more like using COBOL. Write the tests in a more conventional programming language, like Ruby, Java, PHP, Python, C#, Haskell, Go, whatever. And Cucumber is not a testing tool. It is a tool to help non-technical people understand tests. If programmers are going to test a RESTful API, then they will achieve more by using a familiar programming language to write those tests.