如何组织多部分Codecept.js场景?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何组织多部分Codecept.js场景?相关的知识,希望对你有一定的参考价值。

多部分Codecept.js场景的首选(或仅仅是好)模式是什么,例如:

  1. 选择要上传的文件。
  2. 清空选项。
  3. 清除选择后选择要上载的文件。

我可以在一个场景中执行此操作并使用I.say来描绘部件,但感觉我应该能够将这些作为独立场景编写并在第2部分中使用.only,并且在第2部分之前运行第1部分,因为它取决于它。

如果第1部分在运行整个套件时失败,我还想跳过第2部分和第3部分。

答案

我喜欢在能力方面考虑行为。我可以看到你在这里有一对:

  • 上传文件
  • 上传文件时纠正错误。

所以我希望这些有两种情况:

  • 实际上传文件的地方
  • 一个你纠正错误的地方。

很多人说场景中应该只有一个“何时”,但这并没有考虑到与人的互动(包括你过去的错误自我)或时间。在这种情况下,这是纠正提供值的文件上载的整个过程。我在中间步骤中看不到任何值,所以我将它们全部留在一个场景中。

如果存在与不同上下文关联的任何不同行为(例如:您已经上传了太多文件)或结果(例如:您的文件系统没有空间)或规则(例如:您的状态意味着您有资格获得超快速上传)那么我希望那些是新的场景。如果您开始涉及与文件上传相关的许多方案以及发生在他们身上的不同事情,那么可能是将此方案分离出来的好时机。现在我看不出有任何理由这样做。

第一部分重新失败:如果你正确地做BDD,那么你不仅要讨论系统的行为,还要讨论各个代码行为的行为。这应该有助于产生一个良好的设计,最大限度地减少出现错误的机会。非常好的BDD团队制作的场景几乎没有捕获错误!

场景充当活文档,而不是回归测试;帮助未来的开发人员理解代码的价值并使其正确,而不是坚持下去以阻止他们弄错。

所以我不担心失败。如果它做了很多,那你就有了不同的问题。对它进行编码,好像它将在大多数时间内通过,并确保它的可读性和可理解性。只要你能看到它失败并解决它,即使需要一点时间,也没关系。

话虽如此,如果Codecept至少没有选择在失败时停止,我会感到惊讶。在失败的步骤之后,大多数BDD工具不会继续出现这种情况;这样做会很奇怪。

另一答案

据我所知,你无法在codeceptjs中设置执行的优先级。最好做一个测试。如果您需要添加或删除某些部分,它也会更灵活。

以上是关于如何组织多部分Codecept.js场景?的主要内容,如果未能解决你的问题,请参考以下文章

常用Javascript代码片段集锦

Forge Viewer - 如何在场景中访问(或获取渲染/片段代理)克隆的网格?

AJAX相关JS代码片段和部分浏览器模型

如何在片段着色器中平铺部分纹理

手机上如何使用oa系ǻ

几个关于js数组方法reduce的经典片段