update docs
This commit is contained in:
parent
212397dc9e
commit
5d9dbd31d7
58
index.md
58
index.md
@ -29,6 +29,7 @@ they'll even work when running in the Jasmine gem's server with no changes to yo
|
|||||||
|
|
||||||
* It integrates with [Guard](https://github.com/guard/guard) for a continuous testing setup when using [`guard-jasmine-headless-webkit`](https://github.com/guard/guard-jasmine-headless-webkit).
|
* It integrates with [Guard](https://github.com/guard/guard) for a continuous testing setup when using [`guard-jasmine-headless-webkit`](https://github.com/guard/guard-jasmine-headless-webkit).
|
||||||
* It compiles [CoffeeScript](http://jashkenas.github.com/coffee-script/), both for your tests and for your application logic.
|
* It compiles [CoffeeScript](http://jashkenas.github.com/coffee-script/), both for your tests and for your application logic.
|
||||||
|
* It integrates with [Sprockets](https://github.com/sstephenson/sprockets) to handle code requires & preprocessing and JavaScript templates.
|
||||||
* 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.
|
* 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.
|
||||||
* It provides cleaner debugging and backtrace output than a lot of other console-based test tools provide.
|
* It provides cleaner debugging and backtrace output than a lot of other console-based test tools provide.
|
||||||
* It's *fast*.
|
* It's *fast*.
|
||||||
@ -146,19 +147,12 @@ files for the testing process are located:
|
|||||||
|
|
||||||
{% highlight yaml %}
|
{% highlight yaml %}
|
||||||
src_files:
|
src_files:
|
||||||
- public/assets/common.js
|
- "**/*"
|
||||||
- public/assets/templates.js
|
|
||||||
- public/javascripts/models/**/*.js
|
|
||||||
- public/javascripts/collections/**/*.js
|
|
||||||
- public/javascripts/views/**/*.js
|
|
||||||
- app/coffeescripts/models/**/*.coffee
|
|
||||||
- app/coffeescripts/collections/**/*.coffee
|
|
||||||
- app/coffeescripts/views/**/*.coffee
|
|
||||||
helpers:
|
helpers:
|
||||||
- helpers/**/*.{js,coffee}
|
- helpers/**/*
|
||||||
spec_files:
|
spec_files:
|
||||||
- "**/*[Ss]pec.{js,coffee}"
|
- "**/*_spec.*"
|
||||||
src_dir:
|
src_dir: app/assets/javascripts
|
||||||
spec_dir: spec/javascripts
|
spec_dir: spec/javascripts
|
||||||
{% endhighlight %}
|
{% endhighlight %}
|
||||||
|
|
||||||
@ -225,19 +219,29 @@ If you need to test server interaction, do one of the following:
|
|||||||
* Stub your server responses using [Sinon.JS](http://sinonjs.org/), the recommended way.
|
* Stub your server responses using [Sinon.JS](http://sinonjs.org/), the recommended way.
|
||||||
* Use [PhantomJS](http://www.phantomjs.org/) against a running copy of a Jasmine server, instead of this project.
|
* Use [PhantomJS](http://www.phantomjs.org/) against a running copy of a Jasmine server, instead of this project.
|
||||||
|
|
||||||
#### Vendored JavaScript support
|
#### Sprockets support
|
||||||
|
|
||||||
_(still in development!)_
|
Nearly all of Sprockets is accessible to your test suite when using `jasmine-headless-webkit`. It's easier to list the parts that
|
||||||
|
aren't accessible:
|
||||||
|
|
||||||
You can pull in vendored JavaScript files as helpers in your setup! Add the `vendored_helpers` section to your `jasmine.yml` file
|
* `*.erb` files are not processed at all (and are actually ignored) because it's assumed the contents of those files depend on an
|
||||||
with the names of some helpers you want to use (take a look at [jasmine-spec-extras](https://github.com/johnbintz/jasmine-spec-extras) to see how it works):
|
outside source, like a Rails app.
|
||||||
|
* No CSS compilation happens, so no Sass or LESS.
|
||||||
|
|
||||||
{% highlight yaml %}
|
If you have to use ERB to inject information into the JavaScript or CoffeeScript files in your project, I recommend that you move those
|
||||||
vendored_helpers:
|
injections to a file that is included separately from the code, or include them in `application.*.erb` like this:
|
||||||
- 'sinon'
|
|
||||||
|
{% highlight coffeescript %}
|
||||||
|
# File: app/assets/javascripts/application.coffee.erb
|
||||||
|
|
||||||
|
#= require 'jquery'
|
||||||
|
#= require 'my_library'
|
||||||
|
|
||||||
|
MyLibrary.root_url = <%= api_root_path %>
|
||||||
{% endhighlight %}
|
{% endhighlight %}
|
||||||
|
|
||||||
_This is the first step in an effort to intergrate with Sprockets directly to make testing modern Rails apps as seamless as possible. Oh yeah, it's coming!_
|
This support is still pretty early, so as myself and others discover the best way to set up code that can be used in both places, those
|
||||||
|
practices will be outlined here.
|
||||||
|
|
||||||
#### What else works?
|
#### What else works?
|
||||||
|
|
||||||
@ -291,6 +295,7 @@ the project.
|
|||||||
|
|
||||||
If your tests are not picking up a file you thought they should be, or they're being included in the wrong order,
|
If your tests are not picking up a file you thought they should be, or they're being included in the wrong order,
|
||||||
run with the `-l` flag to get a list of the files that `jasmine-headless-webkit` will include in the generated HTML file.
|
run with the `-l` flag to get a list of the files that `jasmine-headless-webkit` will include in the generated HTML file.
|
||||||
|
*Very* handy for making sure your Sprockets requires are working correctly.
|
||||||
|
|
||||||
### Coloring the output
|
### Coloring the output
|
||||||
|
|
||||||
@ -391,12 +396,11 @@ status_code = Jasmine::Headless::Runner.run(
|
|||||||
If you use [Guard](https://github.com/guard/guard/), install [`guard-jasmine-headless-webkit`](http://github.com/guard/guard-jasmine-headless-webkit/)
|
If you use [Guard](https://github.com/guard/guard/), install [`guard-jasmine-headless-webkit`](http://github.com/guard/guard-jasmine-headless-webkit/)
|
||||||
and run `guard init jasmine-headless-webkit` to add the necessary bits to your `Guardfile` to test a Rails 3.1 (or a well-structured Rails 3.0) app.
|
and run `guard init jasmine-headless-webkit` to add the necessary bits to your `Guardfile` to test a Rails 3.1 (or a well-structured Rails 3.0) app.
|
||||||
|
|
||||||
### Rails 3.1 and the Asset Pipeline
|
### guard-rails-assets
|
||||||
|
|
||||||
Since your JS code can now flow through the Rails 3.1 asset pipeline, and since it's not easy for non-Rails apps to get access to that pipeline,
|
With Sprockets support now in `jasmine-headless-webkit`, there's less of a need for most users for `guard-rails-assets`, unless you really need to get
|
||||||
testing your pipelined code in Rails 3.1 is a bit more difficult. The best way is to regenrate your code with each change and then run
|
at those ERB files in your project. [`guard-rails-assets`](http://github.com/dnagir/guard-rails-assets) is what you want to use in this case.
|
||||||
`jasmine-headless-webkit` on the code, and now, there's a Guard for that! [`guard-rails-assets`](http://github.com/dnagir/guard-rails-assets) will watch
|
It will watch your app's code for changes and rebuild your pipelined JS code, ready to be tested with `jasmine-headless-webkit`:
|
||||||
your app's code for changes and rebuild your pipelined JS code, ready to be tested with `jasmine-headless-webkit`:
|
|
||||||
|
|
||||||
{% highlight ruby %}
|
{% highlight ruby %}
|
||||||
guard 'rails-assets' do
|
guard 'rails-assets' do
|
||||||
@ -411,7 +415,7 @@ end
|
|||||||
|
|
||||||
### Jammit for JS templates
|
### Jammit for JS templates
|
||||||
|
|
||||||
If you like to use Jammit to shove together your JS templates into one file, you can use a Guard for that, too! [`guard-jammit`](http://github.com/guard/guard-jammit)
|
If you're still using Jammit it shove your JS templates into one file, you can use a Guard for that, too! [`guard-jammit`](http://github.com/guard/guard-jammit)
|
||||||
provides Jammit watching support, but the current version (as of 2011-06-18) does not support some changes to Jammit's internals. Use [my fork](http://github.com/johnbintz/guard-jammit)
|
provides Jammit watching support, but the current version (as of 2011-06-18) does not support some changes to Jammit's internals. Use [my fork](http://github.com/johnbintz/guard-jammit)
|
||||||
until that gets fixed.
|
until that gets fixed.
|
||||||
|
|
||||||
@ -426,10 +430,6 @@ guard 'jasmine-headless-webkit' do
|
|||||||
end
|
end
|
||||||
{% endhighlight %}
|
{% endhighlight %}
|
||||||
|
|
||||||
### Autotest
|
|
||||||
|
|
||||||
Support for Autotest is *deprecated* and no new features will be added to the Autotest runners unless provided by other users.
|
|
||||||
|
|
||||||
## Rake tasks
|
## Rake tasks
|
||||||
|
|
||||||
You can create a Rake task for your headless Jasmine specs:
|
You can create a Rake task for your headless Jasmine specs:
|
||||||
|
Loading…
Reference in New Issue
Block a user