如何构建用于测试的流星应用程序

How to structure meteor app for testing

我正在通读在线书籍 Meteor Testing 并且有点担心它说您应该如何构建您的应用程序。它说在名为 "App" 的全局命名空间中创建一个对象,并根据需要附加子模块,如下所示:

App = {
    Services: {
        func1: [some function]
        func2: [some function]
        ...
    },
    Collections: {
        func1: [some function]
        func2: [some function]
        ...
    }
    ...
}

我的顾虑是:

  1. 这会对我的应用程序的安全性产生负面影响吗?
  2. 我应该在何时何地定义应用命名空间中的函数?将所有这些添加到一个地方很快就会让人不知所措。
  3. 我应该对所有我想进行单元测试的函数都这样做吗?如果没有,我如何访问我在模板的 javascript 文件范围内定义的函数?

如果你们中的任何人可以指出有关在 meteor 中进行测试的其他资源,我很想看看其他人的建议。谢谢

您可以将所有函数的定义分布在不同的文件中,但加载顺序显然很重要。我建议为您的项目创建一个 Meteor 包来定义所有这些函数和其他所需的全局变量,然后是 api.export('App')api.export('App', 'client')(取决于您的需要)。