Tower.js:“工厂'帖子'不存在”

时间:2012-10-16 19:15:59

标签: towerjs

使用Tower 0.4.2-20:我已经按照示例和代码显示所有似乎都生成了但是在运行测试时我得到了一个未定义的工厂错误。

更具体一点:

tower new app
cd app
npm install
tower generate scaffold Post title:string body:text
tower generate scaffold User firstName:string lastName:string email:string
npm test

收率:

 1) PostsController routes show:

      actual expected

      /posts/undefined



  2) PostsController routes edit:

      actual expected

      /posts/undefined/edit



  3) PostsController #index "before each" hook:
     Error: Factory 'post' doesn't exist.
      at Function.Tower.Factory.options [as get] (/home/jeremy/repos/tower/lib/tower-support/shared/factory.js:84:13)
      at Function.Tower.Factory.factory [as create] (/home/jeremy/repos/tower/lib/tower-support/shared/factory.js:73:17)
      at global.factory (/home/jeremy/test/towapp/test/server.coffee:21:42)
      at Context.get.format (/home/jeremy/test/towapp/test/cases/controllers/server/postsControllerTest.coffee:46:16)
      at Hook.Runnable.run (/home/jeremy/test/towapp/node_modules/mocha/lib/runnable.js:187:15)
      at next (/home/jeremy/test/towapp/node_modules/mocha/lib/runner.js:201:10)
      at Runner.hook (/home/jeremy/test/towapp/node_modules/mocha/lib/runner.js:212:5)
      at process.startup.processNextTick.process._tickCallback (node.js:244:9)

我自己试图调试这个并且已经从Github构建了Tower并且链接到那个,正如你在上面看到的那样,它正在使用我的存储库版本的Tower代码,但我也被卡在那里。我不确定制作调试打印/日志记录语句的正确方法;我已经尝试过console.log和this.debug.log,并且在这两种情况下都没有将日志消息写入控制台或日志文件 - 实际上日志目录中根本没有创建任何日志。

编辑添加:取得更多进展。未调用Tower.Factory.define方法。 Factory类确实存在:

Tower.Factory.define 'post', ->
  title: Tower.random('words')

1 个答案:

答案 0 :(得分:1)

一旦我让孩子们躺在床上,这实际上很容易解决:)。工厂文件根本不包括在内。我将此行添加到我的test / server.coffee文件中并修复了此问题:

app.requireDirectory('./test/factories')

我在其中一台发电机(塔式发电机/服务器/发电机/塔式/ app / templates / data / seeds.coffee)中找到了类似的东西,但是我还不了解发电机,所以不知道它在哪里真打算去。

就console.log而言 - 我只是忽略了它 - 一旦我实际调用了define方法,它就在控制台中了:)