如何构建用于测试的流星应用程序
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]
...
}
...
}
我的顾虑是:
- 这会对我的应用程序的安全性产生负面影响吗?
- 我应该在何时何地定义应用命名空间中的函数?将所有这些添加到一个地方很快就会让人不知所措。
- 我应该对所有我想进行单元测试的函数都这样做吗?如果没有,我如何访问我在模板的 javascript 文件范围内定义的函数?
如果你们中的任何人可以指出有关在 meteor 中进行测试的其他资源,我很想看看其他人的建议。谢谢
您可以将所有函数的定义分布在不同的文件中,但加载顺序显然很重要。我建议为您的项目创建一个 Meteor 包来定义所有这些函数和其他所需的全局变量,然后是 api.export('App')
或 api.export('App', 'client')
(取决于您的需要)。
我正在通读在线书籍 Meteor Testing 并且有点担心它说您应该如何构建您的应用程序。它说在名为 "App" 的全局命名空间中创建一个对象,并根据需要附加子模块,如下所示:
App = {
Services: {
func1: [some function]
func2: [some function]
...
},
Collections: {
func1: [some function]
func2: [some function]
...
}
...
}
我的顾虑是:
- 这会对我的应用程序的安全性产生负面影响吗?
- 我应该在何时何地定义应用命名空间中的函数?将所有这些添加到一个地方很快就会让人不知所措。
- 我应该对所有我想进行单元测试的函数都这样做吗?如果没有,我如何访问我在模板的 javascript 文件范围内定义的函数?
如果你们中的任何人可以指出有关在 meteor 中进行测试的其他资源,我很想看看其他人的建议。谢谢
您可以将所有函数的定义分布在不同的文件中,但加载顺序显然很重要。我建议为您的项目创建一个 Meteor 包来定义所有这些函数和其他所需的全局变量,然后是 api.export('App')
或 api.export('App', 'client')
(取决于您的需要)。