Frisby.js

Frisby is a REST API testing framework built on node.js and Jasmine.

Install Frsiby.js

Install Frisby.js with NPM locally. Execute the following command in your project folder.

sudo npm install frisby

Write Tests

Frisby tests start with frisby.create(‘Test Title’), where Test Title is a description for this test.

The tests are then followed by one of the HTTP methods (get, post, …, etc). For example, .get(url) make a GET request to url.

The tests can be chained with expects after the HTTP methods. For example, .expectStatus(200) tests if the response status is 200.

The tests end with .toss() to generate the resulting Jasmine tests.

Run Tests

Frisby.js uses the Jasmine-node test runner.

Write the tests in *.js files and put them in the /spec folder.

Note: The test files must be named as *spec.js in order for jasmine-node to find them

Run the tests with the command jasmine-node spec/ and the result of the test should show.

Generate Test Reports

To generate test reports in JUnit format, use –junitreport argument with jasmine-node command.

A Simple Example:

This simple example includes a HTTP server for GET, PUT, POST, DELETE requests. The server will return a json object with method field being the request type.

For example, the server will respond to a GET request with {“method”:”GET”}.

Each test case includes sending a request and check the HTTP status code, response header, and response JSON body.

For example,

frisby.create(‘GET Method’)
.get(‘http://localhost:4000’)
.expectStatus(200)
.expectHeaderContains(‘content-type’, ‘application/json’)
.expectJSON({
method : ‘GET’
})
.expectJSONTypes({
method : String
}).toss();


Posted

in

by

Tags:

Recent Post

  • How to Connect A Biometric Attendance Device to a System through JS and Node.js?

    In the world of highly advanced workspaces, the utilization of biometric attendance structures has come to be important for accurate and steady tracking of worker or student attendance. This blog publishes objectives to provide a complete guide on integrating a biometric attendance device with a gadget with the use of JavaScript and Node.Js. By making […]

  • How to Implement File Uploads in Node.js with Multer?

    For many web applications that let users share papers, photos, and other types of material, file uploads are a necessary functionality. Multer is a well-liked middleware used for Handling file uploads in Node.js using Multer middleware.in the Node.js environment to effectively handle file uploads. We’ll look at how to use Multer to create file uploads […]

  • How to Use Local Storage to Persist Data in a JavaScript Application?

    Data persistence is a key aspect of web applications. In JavaScript, one of the primary tools for achieving this is Local Storage, a part of the Web Storage API. This JavaScript data persistence tool provides a simple key-value storage mechanism within the user’s browser. Unlike session storage, which persists data only during a session, Local […]

  • How to Use WordPress API?

    WordPress stands out as a leading content management system, celebrated for its dynamic capabilities in website and blog development. Renowned for its rich feature set and extensive customization options, WordPress empowers creators to fashion captivating online experiences. In recent times, WordPress has expanded its horizons into the realm of APIs, granting developers a potent tool […]

  • How to Use Post and Pre Hooks in Mongoose?

    In Mongoose, a widely-used library for working with MongoDB, there are valuable tools called “Pre and Post Hooks.” These hooks, also known as “Mongoose Middleware” or “Mongoose Model Hooks,” allow developers to run their own code just before or after specific actions on the database. With “Pre Hooks,” you can customize actions before they happen, […]

  • How To Create Reusable Components in React: Best Practices

    Rеact is a popular library for building usеr intеrfacеs with JavaScript. One of the main benefits of Rеact is its ability to create reusable componеnts that can be used in different parts of your application. Reusable componеnts can help you savе timе, rеducе codе duplication, and еnsurе consistеncy in your UI. However, creating rеusablе componеnts […]