流星速度镜没有数据

问题描述:

我是Velocity新手,正在使用Mocha作为我的测试框架。我了解如何编写测试和结构,但是我在5000端口上的镜像应用程序似乎没有我的数据库的复制品。我想知道是否有额外的配置,我必须做的,以获得有线连接?我的所有测试都失败了,但那是因为它没有数据来比较。流星速度镜没有数据

感谢您提前给予帮助,如果您需要更多信息,我很乐意提供。

镜子故意有自己的数据库,所以你可以继续在主应用程序的开发,但也有你的测试运行在后台对镜像。

在每次测试之前(或在所有测试之前)您应该在数据库中设置您需要的状态。为此,您可以使用灯具。如果你把一个名为anyName-fixture.js(或咖啡)的文件放在你的/ tests目录下,Velocity将使这个文件在镜像中可以访问。然后该文件可以设置测试所需的数据。

Click here for an example of a fixture

在您的测试中,您可以使用流星法轻松调用夹具。

+0

谢谢你的回答山姆。期待阅读更多你的书!我想知道,是否有可能将数据存储到镜像数据库? – 2014-12-08 19:37:47

+0

如果你看看[这个灯具](https://github.com/meteor-velocity/velocity/blob/b5dada25e18c6bc2ef16fcc64b3d073eb2b6a544/default-fixture.js#L35)它有一些低级别的访问数据库。也许你可以做类似的事情。 mongorestore将不得不作为一个有点麻烦的命令行运行。 我会建议你不要将主数据库复制到镜像中。这听起来像是一个糟糕的测试设计。你希望你的测试有一个SETUP/EXECUTE和VERIFY阶段。该设置是为了确保您拥有特定测试所需的一切。 你正在使用什么测试框架? – 2014-12-08 23:38:32

+0

@TheMeteorTestManual链接不再有效。我确实从Google集团获得了Sanjo的链接。 https://github.com/Sanjo/meteor-jasmine/wiki/Database-Fixtures-for-Integration-Tests 这是一个很好的例子吗?另外,你有什么样的例子来包含loadDefaultFixtures()? – 2015-02-11 19:52:25