我對Ruby和Rspec有相當廣泛的背景。但是,當我學習Node和Mocha時,我遇到了一些我似乎無法理解的語法。瞭解「集成」測試中的摩卡語法
以this tutorial爲例,測試路由包含以下內容(使用CoffeeScript)。還應該指出的是,我已經看到了許多向Mocha解釋初學者的其他地方的例子。
require "should"
routes = require "../routes/index"
describe "routes", ->
describe "index", ->
it "should display index with posts", ->
req = null
res =
render: (view, vars) ->
view.should.equal 'index'
vars.title.should.equal('My Coffeepress Blog')
routes.index(req, res)
如果我正確理解,這種測試設置(分別REQ和RES)模擬請求和響應變量,並將它們發送到routes.index()函數。
什麼我不明白,雖然,這就是爲什麼它是如何做的渲染()函數調用的斷言。這似乎是一種完全不同的測試方法,因爲我習慣於設置數據,根據預期值測試數據,並將數據撕掉。在這裏,似乎「建立數據」(創建一個模擬res對象)的一部分正在作出斷言。
任何人都可以解釋這一點與Rspec流利的人嗎?
很好的迴應。感謝你解釋這個,所以我可以理解,尤其是'更長'的語法示例。 – Feech