有没有在我的测试中可以没有被流星跑的地方吗?
我刚开始我的第一个流星计划,并开始通过编写单元测试与摩卡和should.js 。 虽然摩卡没有问题运行,测试防止从流星启动,因为它有使用的节点问题require
的不是__meteor_bootstrap__.require
( 完整的错误消息 )。
话虽这么说, 流星不应该是运行我的测试! 根据流星文档 ,代码只能被放置在客户机,服务器或两者上。 单元测试套件来在这些类别不属于,我不是唯一的人由流星缺乏一个明确的位置放置自动化测试混淆。
现在,我的测试中都保存在server/test/
,裹着块中的每个文件的内容:
if (typeof(Meteor) === 'undefined') { ... }
虽然这个作品,给人的感觉并不优雅。 你有你的流星应用构建你的测试任何其他建议?
更新:代替在流星文档明确的指示,我跟着Rails的文件夹公约 (第4款),使用文件夹,名为test
存储我的测试资产。 我后来搬到这个到server/test
,因为我不希望它装在客户端上。
请将您的测试在tests/
文件夹 。 与Rails的,它使用一个文件夹命名为test
为此,流星使用复数, tests
此文件夹的名称。
储存在名为“测试”将由流星被完全忽略文件夹中的资产; 这些资产将不会在客户端或服务器上加载。
讽刺的是,我被具有有人通风报信相反的问题,谁愿意被流星客户端加载他们的测试。
截至0.6.0,一个有趣的方法是只使用本地智能包你的应用程序,可以使用流星的tinytest容易测试。 你将不得不居住智能包装的外面来引导你的应用程序的最低限度的代码。
编辑:我做这个做法,我甚至都不需要居住智能包之外的最低限度的代码。 整个应用程序的软件包。
请将您的测试文件在tests
文件夹,你应该罚款。 如果您的应用程序是这样的:你有嵌套在多个文件server
或client
文件夹,您可以将内复制类似的文件夹结构tests/client
或tests/server
目录。 没有规则,但我认为它有助于维护和我有过花费数小时的调试丢失类的错误这是简单地通过测试文件夹组织文件结构解决经验。
由于这是从2012年的问题,这里没有单一的综合性的答案,我想在这里尝试之一。
这是一个很好的起点开始考虑测试您的流星项目。
简而言之第一步:流星添加三条:茉莉第二步:添加流星速度:HTML的记者
你做的这一刻,如果你的应用程序运行(或当你启动应用程序重新回到跑道上)上的浏览器的右上角,你打开你的应用程序中打开 - 你将开始看到一个闪烁的点。 而已。 你现在有到位您的测试框架。
现在,您可以真正产生这个框架也的帮助下的目录结构。 你点击那个闪烁的点的那一刻,你将看到一个弹出如下图所示。
这对生成的test目录的结构方便的链接。
或者,你可以做手工如下。 接下来的事情就是在目录结构决定。 流星文件说够了。 你需要有测试文件夹在你的项目的根 。
采取线索在这里 ,你可以去这样。
<projectRoot>
|---jasmine
|---client
|--- integration
|---- my.first.integration.spec.js
|---client
|--- unit
|---- my.first.unit.spec.js
|---jasmine
|---server
|--- integration
|---- my.first.integration.spec.js
|---server
|--- unit
|---- my.first.unit.spec.js
和中提琴,开始写你的茉莉测试。 这些帖子可以进一步帮助您。