2015-02-23 102 views
0

我想了解如何用茉莉花編寫服務器單元測試流星/茉莉花對象未定義

這是我到目前爲止有:

/both/posts.coffee

@Posts = new Mongo.Collection('posts'); 

class @Post extends Minimongoid 
    @_collection: @Posts 

    @defaults: 
    title: '' 

    validate: -> 
    unless @title.length > 5 
     @error('title', 'Title is required and should be longer than 5 letters.') 

/tests/server/unit/posts/spec/postSpec.coffee

describe 'Post', -> 
    post = undefined 
    beforeEach -> 
    post = new Post() 

    describe 'fields', -> 
    it 'should be able to assign title with strings', -> 
     title = "The Title" 
     post.title = title 

     expect(post.title).toBe title 

服務器控制檯:

(STDERR) [sanjo:jasmine]: The code has syntax errors. [ReferenceError: Minimongoid is not defined] 

什麼那裏錯了嗎?我怎樣才能通過這個簡單的測試?

+0

我認爲存在一個問題,即從茉莉花產生的'Post'的存根/模擬。嘗試寫這個集合的自己的存根(stub)。 – 2015-02-23 14:33:25

+0

有線。我想要做的是一個測試,它通過使用Collection2(模式)和Minimongoid確認集合具有特定的字段和驗證。所以你的意思是我必須創建一個額外的文件,在測試文件夾中「嘲笑」集合「發佈」來測試它? – Jan 2015-02-24 14:48:43

+1

服務器單元測試模式下的https://github.com/Sanjo/meteor-jasmine 。你想要做的更像是一個集成測試。 – 2015-02-24 18:15:26

回答

0

我找到了工作,當我提出的單元測試到集成測試文件夾中的全部內容,並與前置

/tests/server/integration/posts/spec/postSpec.coffee代碼

Jasmine.onTest -> 
# my code 

現在都是綠色的。謝謝@瑪裏厄斯達里拉