How to hook up jasmin-node expectations and matchers with cucumber.js?

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.