I'm like to use one testing language (assertions and matchers) to do both unit and BDD/functional test. i.e.
stepDefinitions = ->
@World = require("../support/world").World
@Given /^I visit the website$/, (cb) ->
(@visit 'http://localhost:3000', cb)
@Then /^I should see "([^"]*)"'s homepage$/, (title, cb) ->
(expect @browser.html()).not.toBeNull()
cb?()
module.exports = stepDefinitions
requiring jasmine-node isn't cutting, what am I missing?
I've thought about this previously too. One should extract the expect/matchers mechanism. I've had a quick look at it and it's not a trivial thing to do, I'm afraid.
There are some packages (e.g. expectations) on NPM that offer expect-like syntax but I haven't found something good enough just yet.
You might consider Node.js's standard assertion library too.