Jasmine 针对不同参数的少数项目的一组测试

Jasmine 针对不同参数的少数项目的一组测试,jasmine,automated-tests,protractor,e2e-testing,Jasmine,Automated Tests,Protractor,E2e Testing,我正在使用量角器和茉莉花,希望以最好的方式组织我的E2E测试 例如: 检查注册功能有一组测试(使用正确的凭证注册、注册为现有用户等) 我需要在三个不同的项目中运行这些测试。测试相同,但凭据不同。对于一个项目,它可以是注册表单中的3个字段,而在另一个项目中,它可以是6个字段 现在一切都以一种非常复杂的方式组织起来: 每个单独的测试都不是作为“它”,而是作为一个功能进行的 有一个包含所有测试的函数(测试的函数) 每个文件中都有一个带有描述功能的文件 在该文件中有一个“it”,它调用包含所有测试的函

我正在使用量角器和茉莉花,希望以最好的方式组织我的E2E测试

例如:

检查注册功能有一组测试(使用正确的凭证注册、注册为现有用户等)

我需要在三个不同的项目中运行这些测试。测试相同,但凭据不同。对于一个项目,它可以是注册表单中的3个字段,而在另一个项目中,它可以是6个字段

现在一切都以一种非常复杂的方式组织起来:

  • 每个单独的测试都不是作为“它”,而是作为一个功能进行的
  • 有一个包含所有测试的函数(测试的函数)
  • 每个文件中都有一个带有描述功能的文件
  • 在该文件中有一个“it”,它调用包含所有测试的函数
  • 每个项目都有测试套件
我相信有一种做法,就是如何以正确的方式组织每一件事,每一次测试都是在自己的“it”中进行的。因此,我们很乐意看到一些链接或建议


提前谢谢你

因为这是一个宽泛的问题,我将把你重定向到几个链接。您可能应该看看量角器的页面对象模型。它将帮助您简化并设置一个标准,以可读且易于使用的方式组织您的测试。这是量角器团队描述的指向它的链接

然而,如果你想知道为什么我们需要使用这样一个框架,它有很多缺点,可以通过使用这样的框架来解决。这里有详细的解释

编辑:根据您的评论,我觉得您正在尝试创建一个统一的文件/功能,以满足所有将使用它的套件的需要。为了处理这些事情,请尝试添加一个通用函数(用于填充案例中的表单字段),导出该函数,然后将其要求到测试套件中。这里有一个链接示例-


希望这有帮助。

谢谢。也许我的问题不够清楚。我已经在使用PageObjects了,它非常完美。问题是,现在我在PageObjects中也加入了expect函数,我认为这是不正确的。@Radost_u我以为你在寻求一种使用量角器组织e2e测试的最佳方法。如果这不是你想要的,请告诉我。对不起,我按Enter键太快了。我已经在使用PageObjects了,它非常完美。问题是,现在我在PageObjects中也加入了expect函数,我认为这是不正确的。我还可以制作一个带有“descripe”的完美文件,并在其中使用PageObject。此外,我有三个项目,这是相似的,但不同的(对于一个项目,我需要填写登记表中的3个字段,在另一个1-6)。我不想把一个大文件复制到三个不同的套件。不知何故,我想这样做,我有一个文件,但为每个项目运行它(使用不同的输入参数)@Radost_uu更新了答案,包括导出和要求功能,您可以使用该功能创建一个文件来为每个项目运行它。谢谢。这正是我所用的。我把所有的测试放在一个测试中,所以它现在看起来像
code
var-allFunctionsToTestRegistration=function(inputs){this.checkregistrationissuccessfull=function(inputs){expect(…).toBe(true)}
code
,然后我在我的“it”中调用该函数。所以当我看到测试报告时,我只能从我的单个测试中看到一个名称“它”和一切都算作一个测试。