7

我想用 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)
  })
})

这运行没有任何错误。

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

打印出 User 模型表明它只包含两个methods: [ 'getModelName', 'getTableName' ].

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

4

1 回答 1

1

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

于 2018-01-10T19:47:13.500 回答