2017-11-08 5 views
8

mochaでTrails.jsプロジェクトのモデルをテストしたかったのです。私はtrailpack-waterlineを使用してモデルをWaterline ORMに読み込みます。トレイルにDocsに続いてTrails.jsで水線モデルをテストする方法

私はUser.test.jsを作成しました:

'use strict' 

const assert = require('assert') 

describe('User Model',() => { 
    let User 

    before(() => { 
    assert(global.app.models.User) 
    User = global.app.models.User 
    }) 

    it('should exist',() => { 
    assert(User) 
    }) 
}) 

これはエラーなしで実行されます。

しかし、私はモデルをインスタンス化することはできません。ドキュメントnew User({...})の例に従うと、新しいユーザーオブジェクトを作成する必要がありますが、このコードではUser is not a constructorというエラーが発生します。そして、ウォーターラインDocsの例はどちらもUser.create({...})を使用していないようです。

Userモデルを印刷すると、2つのmethods: [ 'getModelName', 'getTableName' ]のみが表示されます。

単体テスト用に水面モデルをインスタンス化するにはどうすればよいですか?

答えて

0

global.app.models.Userはモデルの定義であり、水面モデルではないからです。これはglobal.app.orm.Userの下にあり、その後はUser.createを問題なく使用できます。

関連する問題