如何在Trails.js中测试水线模型

Lan*_*o-L 7 javascript unit-testing mocha.js waterline trailsjs

我想用mocha测试我的Trails.js项目的模型.我使用trailpack-waterline将我的模型加载到Waterline ORM中.

在Trails Docs之后我创建了一个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)
  })
})
Run Code Online (Sandbox Code Playgroud)

这没有任何错误.

但我无法以任何方式实例化该模型.按照Docs的示例new User({...})应创建一个新的用户对象,但此代码会抛出一个错误说明User is not a constructor.并且水线文档使用的示例User.create({...})似乎都不起作用.

打印出用户模型显示它只包含两个methods: [ 'getModelName', 'getTableName' ].

如何实例化水线模型进行单元测试?

jau*_*ard 1

这是因为这global.app.models.User是您模型的定义,而不是水线模型。这个在下global.app.orm.User,之后就可以User.create正常使用了