Challenge Overview
Karma is a Javascript test runner, 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. The goal of this challenge is to create a Karma vscode extension with similar functionality as the Karma Webstorm plugin.
This challenge is a followup challenge of the previous challenge: http://www.topcoder.com/challenge-details/30069929/?type=develop&noncache=true
And it's responsible for implementing the following items for the test explorer:
It should also fix the following issues:
This challenge is a followup challenge of the previous challenge: http://www.topcoder.com/challenge-details/30069929/?type=develop&noncache=true
And it's responsible for implementing the following items for the test explorer:
- Make the test explorer support the following actions: run failed tests, collapse/expand all tests, filter passed / failed tests, turn on / off skipped tests. Icons should be created above the test explorer as well, and click the icon will trigger the action.
- Right click on the tree item, a pop-up menu is displayed with 'run' and 'debug' menu buttons. User can click the 'run' menu button to run the corresponding test(s), which can be a single test or a test suite. User can click the 'debug' menu button to debug the corresonding test(s). Debug for all tests should also work.
- Click the tree item (either a test or a test suite), the corresonding test result should be displayed in output panel. And after navigating to the corresponding test in the source test file, the error should also be displayed in corresponding line of the source test file as inline-error, and user can hover over the inline-error to show the complete error result (just like the Mocha sidebar).
- Add an "export test results" button above the test explorer, click it to show a dialog like the Webstorm Karma Plugin. It should allow user to export the test results.
It should also fix the following issues:
- Make it work on Windows, right now it reports error like "D:\review\tc6\sub\karma-tests>d:\review\tc6\sub\karma-tests\node_modules\karma\bin\karma start D:\review\tc6\sub\karma\src\config.js
'd:\review\tc6\sub\karma-tests\node_modules\karma\bin\karma' is not recognised command." - Running two tests with same names (one failed, one passed), it will show 1 failed in output, but in test explorer it shows 4 and only shows the result for the later one. See https://snag.gy/mGjo6b.jpg
- Please setup lint for the codebase and correct all the lint errors.
Final Submission Guidelines
Submission Deliverable
- Updated Source Code
- Detailed Deployment Guide and Verification Guide
- Test nodejs code with Karma unit-tests for verification
- Updated Source Code
- Detailed Deployment Guide and Verification Guide
- Test nodejs code with Karma unit-tests for verification