Need advice about which tool to choose?Ask the StackShare community!

Jasmine

1.6K
1.3K
+ 1
184
Karma

1.3K
542
+ 1
179
Add tool

Jasmine vs Karma: What are the differences?

What is Jasmine? DOM-less simple JavaScript testing framework. Jasmine is a Behavior Driven Development testing framework for JavaScript. It does not rely on browsers, DOM, or any JavaScript framework. Thus it's suited for websites, Node.js projects, or anywhere that JavaScript can run.

What is Karma? Spectacular Test Runner for JavaScript. Karma is not a testing framework, nor an assertion library. Karma just launches a HTTP server, and generates the test runner HTML file you probably already know from your favourite testing framework. So for testing purposes you can use pretty much anything you like.

Jasmine can be classified as a tool in the "Javascript Testing Framework" category, while Karma is grouped under "Browser Testing".

"Can also be used for tdd " is the primary reason why developers consider Jasmine over the competitors, whereas "Test Runner" was stated as the key factor in picking Karma.

Jasmine and Karma are both open source tools. Jasmine with 14.4K GitHub stars and 2.12K forks on GitHub appears to be more popular than Karma with 10.7K GitHub stars and 1.61K GitHub forks.

According to the StackShare community, Jasmine has a broader approval, being mentioned in 143 company stacks & 75 developers stacks; compared to Karma, which is listed in 119 company stacks and 57 developer stacks.

Decisions about Jasmine and Karma

We use Mocha for our FDA verification testing. It's integrated into Meteor, our upstream web application framework. We like how battle tested it is, its' syntax, its' options of reporters, and countless other features. Most everybody can agree on mocha, and that gets us half-way through our FDA verification and validation (V&V) testing strategy.

See more
Get Advice from developers at your company using Private StackShare. Sign up for Private StackShare.
Learn More
Pros of Jasmine
Pros of Karma
  • 62
    Can also be used for tdd
  • 49
    Open source
  • 18
    Originally from RSpec
  • 15
    Great community
  • 14
    No dependencies, not even DOM
  • 10
    Easy to setup
  • 8
    Simple
  • 3
    Created by Pivotal-Labs
  • 2
    Works with KarmaJs
  • 1
    Async and promises are easy calls with "done"
  • 1
    Jasmine is faster than selenium in angular application
  • 1
    SpyOn to fake calls
  • 60
    Test Runner
  • 34
    Open source
  • 27
    Continuous Integration
  • 22
    Great for running tests
  • 18
    Test on Real Devices
  • 11
    Backed by google
  • 5
    Easy Debugging
  • 2
    Remote Control

Sign up to add or upvote prosMake informed product decisions

Cons of Jasmine
Cons of Karma
  • 2
    Unfriendly error logs
  • 1
    Slow, because tests are run in a real browser
  • 1
    Requires the use of hacks to find tests dynamically

Sign up to add or upvote consMake informed product decisions

What is Jasmine?

Jasmine is a Behavior Driven Development testing framework for JavaScript. It does not rely on browsers, DOM, or any JavaScript framework. Thus it's suited for websites, Node.js projects, or anywhere that JavaScript can run.

What is Karma?

Karma is not a testing framework, nor an assertion library. Karma just launches a HTTP server, and generates the test runner HTML file you probably already know from your favourite testing framework. So for testing purposes you can use pretty much anything you like.

Need advice about which tool to choose?Ask the StackShare community!

What companies use Jasmine?
What companies use Karma?
See which teams inside your own company are using Jasmine or Karma.
Sign up for Private StackShareLearn More

Sign up to get full access to all the companiesMake informed product decisions

What tools integrate with Jasmine?
What tools integrate with Karma?

Sign up to get full access to all the tool integrationsMake informed product decisions

What are some alternatives to Jasmine and Karma?
Mocha
Mocha is a feature-rich JavaScript test framework running on node.js and the browser, making asynchronous testing simple and fun. Mocha tests run serially, allowing for flexible and accurate reporting, while mapping uncaught exceptions to the correct test cases.
Jest
Jest provides you with multiple layers on top of Jasmine.
Chai
It is a BDD / TDD assertion library for node and the browser that can be delightfully paired with any javascript testing framework. It has several interfaces that allow the developer to choose the most comfortable. The chain-capable BDD styles provide an expressive language & readable style, while the TDD assert style provides a more classical feel.
Cypress
Cypress is a front end automated testing application created for the modern web. Cypress is built on a new architecture and runs in the same run-loop as the application being tested. As a result Cypress provides better, faster, and more reliable testing for anything that runs in a browser. Cypress works on any front-end framework or website.
SinonJS
It is a really helpful library when you want to unit test your code. It supports spies, stubs, and mocks. The library has cross browser support and also can run on the server using Node.js.
See all alternatives