Challenge Overview


Karma is a Javascript test runner, and Mocha is both a javascript test runner and a BDD test framework.  You can use Mocha to run your tests, which is often done with NodeJS testing. Or you can use Karma to run your tests by choosing either Jasmine or Mocha as the testing framework. They are an essential part of modern software development because they allow the developer to write tests before the actual code for the feature or defects under development.  The tests are committed to the repo along with the project source files.  These tests are executed by the CI/ CD system to verify that the integrated code works as designed (or at least as far as it is tested). Other developers run these tests while they are coding and before deployment.   If any of these checks fail during development,  work halts and the focus switches to fixing the failed test.   This new approach has lead to the continuous integration of software on a daily or even hourly basis.
For this reason, it is imperative that the testing experience is integrated into the developer's process. Microsoft's VS code is a lightweight developer IDE that is free and has a robust ecosystem of extensions. Our customer desires to survey the existing Karma / Mocha extension offerings and coalesce the desired feature set into a new VS code extension that matches their developer flow.   This project intends to open source this extension in the Visual Studio marketplace.

The goal of this project is to create a VS code Extension that is equal, or better, than the Karma plugin for IntelliJ/WebStorm, The detailed requirements are as follows:
  1. Create a feature evaluation matrix for top VS code extensions for Karma/Mocha (if any) as compared to the more mature platforms specifically Intellij IDEA and Webstorm. For example, find two or more top vscode Mocha vscode extensions, and then compare it with top Mocha plugins for Intellij IDEA and Webstorm. And it seems there is no Karma vscode extension, but there are Karma plugins for Intellij IDEA and Webstorm. 
  2. Create a prioritized feature list and gap analysis lacking features from any of the vs code tools. Give detailed examples of how the features work in the other platforms. Demo videos comparisons are a plus but not required.  We will use this to decide what features we want to build in the follow-up challenges.
  3. We want to build the ultimate Karma/Mocha extension for vs code so help us decide what will give us the most bang for our buck.
  4. Karma is the focus of this project and Mocha would be a nice to have. 

We will offer a discretionary bonus for any of these features actually demonstrated in the vs code framework as a new extension. (https://code.visualstudio.com/docs/extensions/overview).   This would give us a nice starting point for the next follow-up challenge.

Our current plan would be to open source this project into the VSCode marketplace and winners will optionally be featured as contributors.

Final Submission Guidelines

Submission Deliverable
- A document including all the details.
- Demo video (optional and you may annotate if you are not comfortable with spoken English) 

ELIGIBLE EVENTS:

Topcoder Open 2019

Review style

Final Review

Community Review Board

Approval

User Sign-Off

ID: 30069223