GithubHelp home page GithubHelp logo

isabella232 / spreeza-js-assessment Goto Github PK

View Code? Open in Web Editor NEW

This project forked from superbalist/spreeza-js-assessment

0.0 0.0 0.0 508 KB

A test-driven approach to assessing JS skills

JavaScript 94.32% HTML 5.68%

spreeza-js-assessment's Introduction

A test-driven JS assessment

Join the chat at https://gitter.im/rmurphey/js-assessment

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 or using Homebrew if you are on a Mac.

Note that on Windows, there are some reports that you will need to restart after installing Node - see #12.

You can clone or download this repo. Once you have done so, from the root directory of the repo, run:

npm install
npm start

You can then view the tests in your browser at 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 refer to the tests in the files in the tests/app directory, and edit the files in the app/ directory. Once you update a test, you can reload the test page in the browser to see whether it worked.

You can also run (most of) the tests on the command line:

npm test

The command line runner is a work in progress; contributions welcome :)

You can also develop with live-reload and grunt-watch if that's your thing:

npm install -g grunt-cli
npm install
grunt develop

I need help!

There may be friendly folks willing to help you in #js-assessment or #jshotline on freenode IRC.

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, and to add a stub for the solution to the corresponding file in app/. Finally, it would be great if you could update the answers as well.

Any substantial contributions will be duly credited in the readme, as well as of course in the git commit log.

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 jQuery, Backbone, and Underscore. Do take advantage of these libraries when writing your solutions!

I want to see the answers!

First, bear in mind that looking up the answers is going to teach you a whole lot less than you'll learn by working on the tests, even if you occasionally get stuck. I'd recommend only looking at the answers once you have the tests passing, to see if there's another way you could have approached the problem. When you're ready to look at the answers, you can find them here; I'll do my best to keep them up to date.

I hate <some technology you've chosen>

This repo uses Mocha and Chai for the tests themselves. It uses the BDD style for authoring tests. 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.

Todos

There are a number of things that would make this project better; check out the issues for details, pull requests welcome!

License

Copyright © 2012-2015 Rebecca Murphey.

Creative Commons License

This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.

spreeza-js-assessment's People

Contributors

adrianheine avatar ainthek avatar ashleygwilliams avatar bmaland avatar bonpixel avatar bpugh avatar chena avatar clowder avatar craveytrain avatar daniel-franz avatar dsbonev avatar ecashin avatar gitter-badger avatar isaacs avatar jamesplease avatar jtmalinowski avatar juanojeda avatar jugglinmike avatar kadamwhite avatar kmiyashiro avatar leinster avatar loickreitmann avatar mikegehard avatar raybaxter avatar rmurphey avatar rockbot avatar sgtpooki avatar timhirsh avatar tomfuertes avatar unthunk avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.