3

如何在我的黄瓜和茉莉花测试之间共享一个夹具?

我可以使用一个 jasmine 服务器集成测试创建一个夹具,该测试可与其他 jasmine 服务器集成测试一起使用。但是(我猜是因为不同的“镜子”?)我不能在黄瓜测试中使用相同的夹具。Mongo 集合没有 jasmine 服务器集成测试创建的数据。

一种选择是将状态保存到平面文件或 nock 中,类似于流星之外的东西。但是,为测试夹具引用一个公共集合(在同一个镜像上?)会简单得多。这可能吗?

4

3 回答 3

1

您可以将 package-fixture 模式用于固定装置来实现您的要求。见这里:https ://github.com/meteor-velocity/velocity#fixtures--test-data

您使用包描述符中的标志创建的任何包debugOnly都不会在生产中捆绑。

于 2015-05-04T02:47:43.357 回答
0

一切皆有可能。但是,我不建议让测试相互依赖。正如维基百科所说

理想情况下,每个测试用例都独立于其他测试用例。

您的测试应该独立的几个原因:

  • 如果测试失败,则更容易缩小问题范围(如果测试相互依赖,您将遇到一些测试失败,而前身确实失败了)
  • 允许并行化以减少总测试运行时间(随着测试套件的增长)

目前Velocity 为您的应用程序的测试镜像实例硬编码端口 5000,但我知道有努力使该端口可配置(这必须由测试框架本身支持)。

于 2015-05-04T00:59:45.723 回答
0

对此的总结答案是:不支持使用测试工具之间的共享运行时状态(尽管两者都可以从同一个夹具包中执行代码)。我要使用的用法不是传统模式,并且涉及测试之间的某种依赖关系。

为了得到我想要的东西,我必须编写自己的工具。我想要的基本上是一个围绕 nock 的包装器,通过在打开集成的情况下记录我的 e2e 测试的结果来帮助我生成测试装置。

于 2015-05-06T14:38:49.077 回答