将代码放在 Jasmine 测试 + Meteor 的正确目录中

Posted

技术标签:

【中文标题】将代码放在 Jasmine 测试 + Meteor 的正确目录中【英文标题】:Placing code in the right directory for Jasmine testing + Meteor 【发布时间】:2015-10-11 08:19:18 【问题描述】:

我是 Jasmine 测试框架的新手,很想得到一些指导。在测试文件夹下,我有以下目录结构:

tests/jasmine/client
tests/jasmine/server

在这两个文件夹下,我有:

tests/jasmine/client/integration
tests/jasmine/client/unit

tests/jasmine/server/integration
tests/jasmine/server/unit

我对在正确文件夹中放置代码感到困惑。我所有的测试都与(大部分)在服务器上的 Meteor.methods 相关。我了解放置在“单元”测试文件夹下的测试无法访问任何 Meteor 代码并且需要实现存根,并且客户端文件夹中的测试测试客户端代码(类似于服务器文件夹)。然而,这是否意味着:

    我对服务器 Meteor.methods 的所有测试都应该在服务器/集成上? /collections 文件夹中的方法(客户端和服务器都可以访问)可以在客户端或服务器中测试吗?

【问题讨论】:

【参考方案1】:

文件夹结构:

both/ (OR lib/)          -- common code for server and client
  |- collections/        -- declare collections (e.g Employer = new Meteor.Collection("employer");)
  |- router     /        -- router code(e.g Router.route(..))

client/                  -- client side code
  |- global/             -- all global variable for client
  |- helpers/            -- global helper for client (for all templates)
  |- plugins/            -- all the plugins code(if you use any)
  |- stylesheets/        -- css / less files
  |- templates/          -- all templates
        |- home.html     -- home template(html)
        |- home.js       -- home template(js)

public/                  -- images/icons/fonts (meteor looking at this file)

server/                  -- server code
  |- methods/            -- server methods/API (e.g Meteor.methods(...))
  |- publish/            -- publish code from server

希望对你有所帮助..

更多reference或Documentation。

【讨论】:

以上是关于将代码放在 Jasmine 测试 + Meteor 的正确目录中的主要内容,如果未能解决你的问题,请参考以下文章

Meteor 中的单元测试应该放在哪里?

使用 Jasmine 测试 Node 项目

如何使用node.js jasmine设置断点?

在 Jasmine 单元测试中模拟 AngularJS 模块依赖项

Jasmine 中的单元测试用例

使用jasmine来对js进行单元测试