问题标签 [locomotivejs]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
265 浏览

node.js - MVC 单元测试 LocomotiveJS

我正在使用 LocomotiveJS 构建 MVC 应用程序。我一直在考虑我应该编写的测试类型并且感到困惑。

以下是应用程序中的不同组件 - 模型、视图、控制器、路由器和 ORM。

如果我必须对每个组件进行单元测试,那么我认为我应该这样做。

  1. 编写测试以确保 ORM 提供的 API 以我期望的方式运行。
  2. 单元测试我的模型存根 ORM。我为它提供了存根,因此我不必在单元测试中依赖实际的数据库操作。
  3. 控制器访问视图和模型。控制器的工作是获取/修改模型并响应客户端(渲染/重定向)。
    • 可以通过向控制器提供测试输入并检查是否生成了正确的响应来测试控制器的响应(存根render/redirect并确保进行了正确的调用)。
    • 可以通过存根模型并确保进行正确调用来测试控制器对模型的操作。这感觉不对,因为我正在测试实现......
  4. 视图只是模板;控制器将模板与值绑定。我可以创建一个假视图模型并将其绑定到视图并查看是否生成了正确的输出。
  5. 路由只是接受请求并将其映射到正确的控制器和操作。我可以通过删除部分路由器并确保对路由器的请求映射到预期的控制器/动作来确保应用程序支持正确的路由。

假设我现在更改了模型 API,我必须更改模型测试,我必须更改控制器测试使用的模型存根,并且我必须更新控制器测试中的断言。

这似乎有点矫枉过正。

这是否有意义?

像上面那样做1和2。

3.集成测试其余部分(控制器/视图/路由器)。test在这里,我认为我应该在一个环境中启动我的应用程序并使用它supertest来确保请求生成正确的响应 - 访问一个 url,我得到正确的内容,正确的重定向等。

我认为对模型进行单元测试是有意义的,因为它代表了与不同系统的交互(数据持久性)。我们要确保桥接功能正常。路由器/控制器/视图在我们自己的系统中以非常特定的方式进行交互。所以集成测试似乎没问题。你觉得呢?你有没有什么想法?

0 投票
2 回答
625 浏览

javascript - locomotive.js 监听 http 和 https

我有一个 locomotive.js MVC 项目,它在 http 上监听。我想在 https 上收听,并将所有 http 重定向到 https。

我找不到node.js的createServer,我找到的唯一代码是:/lib/node_modules/locomotive/lib/locomotive/cli/server.js

变成 :

我现在有点卡住了,有什么帮助吗?

谢谢 !

0 投票
1 回答
562 浏览

node.js - PassportJS NodeJS 在页面上显示错误消息

我在一个项目中使用 Locomotivejs 和 passportJS 进行身份验证,我在网上找到了一些代码来处理注册:

但是我无法弄清楚如何在页面上显示错误消息,例如“用户名已存在”或“密码不匹配”等。我只能将它们发送到 console.log()。有谁知道我该怎么做?

0 投票
1 回答
2015 浏览

node.js - NodeJS Ejs 变量渲染 HTML

您可以像这样使用 ejs 输出变量

但是我尝试在变量中包含 html,它只是将其显示为文本。是否可以使其呈现为html?

0 投票
1 回答
4332 浏览

node.js - NodeJS无法访问回调内部的变量

我相信这是异步的问题,但我不知道解决方案。

我的问题是,this.table=table如果我尝试在函数之外访问它,则会返回未定义,并且我无法弄清楚如何在页面上显示表格。

0 投票
1 回答
909 浏览

node.js - MongooseJS 查找最大值、最小值和平均值

我有一个 MongoDB 数据库,其中包含一系列值,包括一个 Number 字段,我希望获得最大数、最小值和平均值。使用 mongoosejs 和 nodejs 的最佳方法是什么?

0 投票
1 回答
347 浏览

node.js - Mongoose 不会添加文档

我正在尝试从 heroku 调度程序将条目添加到 mongo db。但目前我只是在使用“node app/bin/trackStats”进行测试

这是我的模型。

这是添加实体的代码#!/app/bin/node

它 console.logs 正确记录所有数据,但没有任何内容添加到数据库中。

0 投票
1 回答
19707 浏览

node.js - NodeJs 和 Ejs 将数组传递到页面

我正在尝试将数组传递给 .ejs 页面,但是当我尝试使用

我得到输出

nodejs 文件上的 Console.log 工作正常,但是当我尝试 console.log 客户端时它搞砸了。

0 投票
1 回答
249 浏览

node.js - 如何启动 appfog locomotive.js 应用程序?

我在 appfog 实例上使用节点框架 locomotive.js。安装它会导致一系列错误,我无法启动应用程序。查看帮助材料并与 appfog 支持合作,我们能够解决该问题与 package.json 文件有关,特别是与 lcm 服务器的调用有关。

什么是正确的 package.json 属性?

0 投票
2 回答
2783 浏览

mysql - NodeJS Mysql 出错时停止服务器崩溃

我正在使用https://github.com/felixge/node-mysql 并且每次 mysql 查询都会引发错误,例如如果一行不存在。节点服务器崩溃。

我如何简单地将错误打印到页面而不是使服务器崩溃。