start work on the page
This commit is contained in:
parent
ae363e36e9
commit
4b41ab1348
60
Gemfile.lock
Normal file
60
Gemfile.lock
Normal file
@ -0,0 +1,60 @@
|
|||||||
|
PATH
|
||||||
|
remote: .
|
||||||
|
specs:
|
||||||
|
jasmine-headless-webkit (0.1.1)
|
||||||
|
coffee-script
|
||||||
|
jasmine
|
||||||
|
rainbow
|
||||||
|
|
||||||
|
GEM
|
||||||
|
remote: http://rubygems.org/
|
||||||
|
specs:
|
||||||
|
ZenTest (4.5.0)
|
||||||
|
autotest (4.4.6)
|
||||||
|
ZenTest (>= 4.4.1)
|
||||||
|
childprocess (0.1.8)
|
||||||
|
ffi (~> 1.0.6)
|
||||||
|
coffee-script (2.2.0)
|
||||||
|
coffee-script-source
|
||||||
|
execjs
|
||||||
|
coffee-script-source (1.1.0)
|
||||||
|
diff-lcs (1.1.2)
|
||||||
|
execjs (0.3.3)
|
||||||
|
multi_json (~> 1.0)
|
||||||
|
fakefs (0.3.2)
|
||||||
|
ffi (1.0.7)
|
||||||
|
rake (>= 0.8.7)
|
||||||
|
jasmine (1.0.2.0)
|
||||||
|
coffee-script-source
|
||||||
|
json_pure (>= 1.4.3)
|
||||||
|
rack (>= 1.1)
|
||||||
|
rspec (>= 1.3.1)
|
||||||
|
selenium-webdriver (>= 0.1.3)
|
||||||
|
json_pure (1.5.1)
|
||||||
|
multi_json (1.0.1)
|
||||||
|
rack (1.2.2)
|
||||||
|
rainbow (1.1.1)
|
||||||
|
rake (0.8.7)
|
||||||
|
rspec (2.5.0)
|
||||||
|
rspec-core (~> 2.5.0)
|
||||||
|
rspec-expectations (~> 2.5.0)
|
||||||
|
rspec-mocks (~> 2.5.0)
|
||||||
|
rspec-core (2.5.1)
|
||||||
|
rspec-expectations (2.5.0)
|
||||||
|
diff-lcs (~> 1.1.2)
|
||||||
|
rspec-mocks (2.5.0)
|
||||||
|
rubyzip (0.9.4)
|
||||||
|
selenium-webdriver (0.2.0)
|
||||||
|
childprocess (>= 0.1.7)
|
||||||
|
ffi (>= 1.0.7)
|
||||||
|
json_pure
|
||||||
|
rubyzip
|
||||||
|
|
||||||
|
PLATFORMS
|
||||||
|
ruby
|
||||||
|
|
||||||
|
DEPENDENCIES
|
||||||
|
autotest
|
||||||
|
fakefs
|
||||||
|
jasmine-headless-webkit!
|
||||||
|
rspec
|
@ -1,4 +1,4 @@
|
|||||||
markdown: rdiscount
|
markdown: rdiscount
|
||||||
auto: true
|
auto: true
|
||||||
server: true
|
server: true
|
||||||
|
pygments: true
|
||||||
|
83
index.md
83
index.md
@ -1,8 +1,85 @@
|
|||||||
---
|
---
|
||||||
title: test
|
title: jasmine-headless-webkit -- The fastest way to run your Jasmine specs!
|
||||||
---
|
---
|
||||||
|
|
||||||
## header
|
# `jasmine-headless-webkit`
|
||||||
|
## Run your Jasmine specs at sonic boom speed!
|
||||||
|
|
||||||
test
|
[Jasmine](http://pivotal.github.com/jasmine/) is great. I love it. But running Jasmine when you need to test code that will run
|
||||||
|
in a browser environment can be problematic and slow:
|
||||||
|
|
||||||
|
* The Jasmine gem's server makes getting up and testing very fast, but F5-ing your browser for each test run is distracting.
|
||||||
|
* Jasmine CI uses Selenium, which speeds up the process a bit, but you're still rendering pixels in a browser, so it's slower than it should be.
|
||||||
|
* Node.js, EnvJS, and Rhino solutions for running Jasmine are great for anything that will never run in a real browser, since browser simulators are not true browsers.
|
||||||
|
|
||||||
|
But there's a solution for browser-based testing, and it dovetails perfectly into the Jasmine gem's already established protocols.
|
||||||
|
|
||||||
|
## Enter `jasmine-headless-webkit`
|
||||||
|
|
||||||
|
`jasmine-headless-webkit` uses the Qt WebKit widget to run your specs without needing to render a pixel. It's nearly
|
||||||
|
as fast as running in a JavaScript engine like Node.js, and since it's a real browser environment, all the modules
|
||||||
|
you would normally use, like jQuery and Backbone, work without any modifications. If you write your tests correctly,
|
||||||
|
they'll even work when running in the Jasmine gem's server with no changes to your code.
|
||||||
|
|
||||||
|
`jasmine-headless-webkit` also streamlines your workflow in other ways:
|
||||||
|
|
||||||
|
* It integrates with [Autotest](https://github.com/seattlerb/zentest) and can easily be used with [watchr](https://github.com/mynyml/watchr) to automate the running of your tests during development.
|
||||||
|
* It compiles [CoffeeScript](http://jashkenas.github.com/coffee-script/), both for your tests and for your application logic.
|
||||||
|
* It can be configured like RSpec, and its output is very similar to RSpec's output, so you don't need to learn too much new stuff to use and integrate it.
|
||||||
|
|
||||||
|
## How to use it
|
||||||
|
|
||||||
|
You can use it standalone:
|
||||||
|
|
||||||
|
gem install jasmine-headless-webkit
|
||||||
|
|
||||||
|
Or you can use it with Bundler:
|
||||||
|
|
||||||
|
gem 'jasmine-headless-webkit'
|
||||||
|
|
||||||
|
However you install it, you'll get a `jasmine-headless-webkit` executable. You'll also need to set up your project
|
||||||
|
to use the Jasmine gem:
|
||||||
|
|
||||||
|
gem install jasmine
|
||||||
|
jasmine init
|
||||||
|
|
||||||
|
`jasmine-headless-webkit` uses the same `jasmine.yml` file that the Jasmine gem file uses to define where particular
|
||||||
|
files for the testing process are located:
|
||||||
|
|
||||||
|
{% highlight yaml %}
|
||||||
|
src_files:
|
||||||
|
- public/assets/common.js
|
||||||
|
- public/assets/templates.js
|
||||||
|
- public/javascripts/models/**/*.js
|
||||||
|
- public/javascripts/collections/**/*.js
|
||||||
|
- public/javascripts/views/**/*.js
|
||||||
|
- public/javascripts/models/**/*.coffee
|
||||||
|
- public/javascripts/collections/**/*.coffee
|
||||||
|
- public/javascripts/views/**/*.coffee
|
||||||
|
helpers:
|
||||||
|
- helpers/**/*.{js,coffee}
|
||||||
|
spec_files:
|
||||||
|
- **/*[Ss]pec.{js,coffee}
|
||||||
|
src_dir:
|
||||||
|
spec_dir: spec/javascripts
|
||||||
|
{% endhighlight %}
|
||||||
|
|
||||||
|
### *.coffee in my jasmine.yml file?!
|
||||||
|
|
||||||
|
Yes, `jasmine-headless-webkit` will support *.coffee files in `jasmine.yml`, while the normal Jasmine server currently
|
||||||
|
does not support out of the box. Once there's official support, you'll be able to easily switch between `jasmine-headless-webkit`
|
||||||
|
and the Jasmine test server when you're using CoffeeScript.
|
||||||
|
|
||||||
|
## Running the runner
|
||||||
|
|
||||||
|
jasmine-headless-webkit [ -c / --colors ]
|
||||||
|
[ --no-colors ]
|
||||||
|
[ --keep ]
|
||||||
|
[ -j / --jasmine-config <path to jasmine.yml> ]
|
||||||
|
<spec files to run>
|
||||||
|
|
||||||
|
### Coloring the output
|
||||||
|
|
||||||
|
`jasmine-headless-webkit` will not color output by default. This makes it easier to integrate with CI servers. If you want
|
||||||
|
colored output, use the `-c` flag.
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user