流星测试驱动开发

我不明白如何在流星中进行测试驱动开发。

我没有在文档或常见问题中的任何地方看到它。 我没有看到任何例子或类似的东西。

我看到一些软件包正在使用Tinytest。

我需要开发者的回应,这是什么路线图。 沿着以下方向的东西:

  • 可能的,没有文件,自己弄清楚
  • 流星不是以可以制作可测试应用程序的方式构建的
  • 这是计划的功能
  • 等等

  • 更新3 :从流星1.3开始,流星包含一个测试指南,包含单元,集成,验收和负载测试的分步说明。

    更新2 :截至2015年11月9日,Velocity不再维护。 Xolv.io专注于Chimp,流星发展集团必须选择正式的测试框架。

    更新 :Velocity是Meteor自0.8.1起的官方测试解决方案。


    目前关于Meteor的自动化测试还没有写得太多。 我希望Meteor社区能够在官方文档中建立任何内容之前发展测试最佳实践。 毕竟,流星本周达到了0.5,而且事情仍然在迅速变化。

    好消息是: 您可以使用Meteor的Node.js测试工具

    对于我的Meteor项目,我使用Chai对Mocha运行单元测试进行断言。 如果你不需要Chai的完整功能集,我推荐使用should.js代替。 我目前只进行单元测试,但您也可以使用Mocha编写集成测试。

    请务必将您的测试放置在“测试”文件夹中,以便Meteor不会尝试执行您的测试。

    摩卡支持CoffeeScript,这是我选择Meteor项目的脚本语言。 下面是一个示例Cakefile,其中包含用于运行Mocha测试的任务。 如果您在流星中使用JS,请随意修改Makefile的命令。

    您的Meteor模型需要稍微修改才能将自己展示给Mocha,这需要了解Node.js如何工作的一些知识。 将每个Node.js文件想象成在其自己的范围内执行。 Meteor会自动将不同文件中的对象公开给另一个,但普通的Node应用程序(如Mocha)不会这样做。 为了让我们的模型可以通过Mocha进行测试,请使用以下CoffeeScript模式导出每个Meteor模型:

    # Export our class to Node.js when running
    # other modules, e.g. our Mocha tests
    #
    # Place this at the bottom of our Model.coffee
    # file after our Model class has been defined.
    exports.Model = Model unless Meteor?
    

    ...在你的摩卡测试的顶部,导入你想测试的模型:

    # Need to use Coffeescript's destructuring to reference
    # the object bound in the returned scope
    # http://coffeescript.org/#destructuring
    {Model} = require '../path/to/model'
    

    有了这些,您就可以开始使用Meteor项目编写和运行单元测试了!


    大家好,结帐莱卡 - 全新的流星测试框架http://arunoda.github.io/laika/

    您可以一次测试服务器和客户端。

  • 在这里看到一些laika的例子
  • 看到这里的功能
  • 看到laika背后的概念
  • 请参阅Github知识库
  • 免责声明:我是莱卡的作者。


    我意识到这个问题已经得到解答,但我认为这可以使用更多的上下文,以提供上述上下文的附加答案的形式。

    我一直在做流星的应用程序开发以及软件包开发,都是通过实现一个流星核心包以及大气层包。

    这听起来像你的问题可能实际上是一个问题,分三部分:

  • 一个人如何运行整个流星测试套件?
  • 如何编写和运行单个智能软件包的测试?
  • 如何为自己的应用程序编写和运行测试?
  • 而且,这听起来似乎在某处可能存在奖励问题:4.如何实现1,2和3的持续集成?

    我一直在谈论并开始与流星核心团队的Naomi Seyfer(@sixolet)合作,以帮助将所有这些问题的确切答案写入文档。

    我已经向流星核心提交了一个初始的请求1和2的请求:https://github.com/meteor/meteor/pull/573。

    我最近也回答了这个问题:你如何运行流星测试?

    我认为@Blackcoat已经明确地回答了上述3。

    至于奖金4,我建议至少使用circleci.com来为自己的应用程序进行持续集成。 他们目前支持@Blackcoat描述的用例。 我有一个项目,我已经成功地用coffeescript写测试来用摩卡进行单元测试,就像@Blackcoat所描述的那样。

    为了持续整合流星核心和智能套装,Naomi Seyfer和我正在与circleci的创始人聊天,看看我们能否在短期内实现令人惊叹的效果。

    链接地址: http://www.djcxy.com/p/96629.html

    上一篇: Meteor test driven development

    下一篇: What is this Javascript "require"?