forked from rmurphey/js-assessment
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
68 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,68 @@ | ||
# A test-driven JS interview | ||
|
||
This repo includes a set of tests that can be used to assess the skills of | ||
a candidate for a JavaScript position, or to improve one's own skills. | ||
|
||
## I want to work on the tests; what do I do? | ||
To use the tests, you will need to install Node -- you can do this via the | ||
[download page](http://nodejs.org/#download) or using | ||
[Homebrew](http://mxcl.github.com/homebrew/) if you are on a Mac. You will also | ||
need to install [npm](http://npmjs.org/). | ||
|
||
You can clone or download this repo. Once you have done so, from the root | ||
directory of the repo, run: | ||
|
||
npm install | ||
node bin/serve | ||
|
||
You can then view the tests in your browser at | ||
[http://localhost:4444](http://localhost:4444). | ||
|
||
When you visit that page, all of the tests should be failing; your job is to | ||
get the tests to pass. To do this, you'll need to edit the files in the | ||
`tests/app` directory. | ||
|
||
## I want to contribute tests; what do I do? | ||
|
||
Submit a pull request! The tests are currently loosely organized by topic, so | ||
you should do your best to add tests to the appropriate file in `tests/app`, or | ||
create a new file there if you don't see an appropriate one. If you do create | ||
a new file, make sure to add it to `tests/runner.js`. | ||
|
||
### Data-driven tests | ||
|
||
If your tests need data that can be fetched via XHR, stick a `.json` file in | ||
the `data` directory; you can access it at `/data/<filename>.json`. | ||
|
||
## Available dependencies | ||
|
||
The repo includes Backbone, Underscore, and RequireJS. If there's other stuff | ||
you'd find useful, you can put it in the `lib` directory. | ||
|
||
## I want to see the answers! | ||
|
||
I haven't worked out how best to show the answers, or whether to show them at | ||
all. For now, if you're stuck, the tests themselves should include enough | ||
keywords that your friendly neighborhood search engine can point you in the | ||
right direction. | ||
|
||
## I hate \<some technology you've chosen\> | ||
|
||
This repo uses RequireJS for dependency management and Mocha and expect.js for | ||
the tests themselves. If this doesn't suit you, please fork away, or, better, | ||
submit a pull request that lets this be more flexible than it currently is. | ||
|
||
|
||
# License | ||
|
||
Copyright © 2012 Rebecca Murphey | ||
|
||
This work is licensed under the [Creative Commons Attribution-Share Alike 3.0](http://creativecommons.org/licenses/by-sa/3.0/) | ||
license. You are free to share and remix the work, and to use it for commercial | ||
purposes under the following conditions: | ||
|
||
- Attribution — You must attribute the work in the manner specified by the author or licensor (but not in any way that suggests that they endorse you or your use of the work). | ||
- Share Alike — If you alter, transform, or build upon this work, you may distribute the resulting work only under the same or similar license to this one. | ||
|
||
Any of these conditions can be waived if you get permission from the copyright | ||
holder. |