【问题标题】:Cypress test organization赛普拉斯测试机构
【发布时间】:2019-06-06 12:34:08
【问题描述】:

我有一个关于赛普拉斯测试组织的问题。 我想听听您对如何划分测试的反馈?

当您使用

定义测试时
it("", function() {}) 

你测试了多少?你会限制自己的断言吗?

我有一个数据室,两个用户可以在其中进行交互。一个用户可以上传文件和另一个用户聊天,用户2只能上传文件和聊天。

我需要测试的是:

  • 列表项
  • 用户 #1 上传文档
  • 删除用户 #1 的文档
  • 断言聊天会自动获取有关上传和删除文件的消息
  • 用户 #2 可以上传文档
  • 用户 #2 可以关闭数据室并重新打开
  • ...

我问自己的问题是我应该参加的考试次数。

我应该有一个运行整个场景的吗? 我是否应该为我想做的每个测试准备一个 我应该按用户进行多个分组吗 ...

如果您对如何组织考试有任何建议,我很乐意听到!

【问题讨论】:

    标签: e2e-testing cypress


    【解决方案1】:

    我喜欢将我的测试分成不同的主题和场景。因此,定义文件仅包含 1 个主题,并且每个场景都包含一个 it。这样就可以有一个失败的场景,而不会阻塞所有其他场景。

    例如,如果你有房子,我会这样分开它们:

    describe ('Living room', function (){
      it('Should have a couch', function(){
        // do checks for the couch
      })
      it('Should have a media table', function (){
        // do checks for the media table
      })
    })
    
    describe ('Kitchen', function (){
      it('Should have a stove', function(){
        // do checks for the stove
      })
      it('Should have a kitchen table', function (){
        // do checks for the kitchen table
      })
    })
    
    describe ('Bathroom', function (){
      it('Should have a shower', function(){
        // do checks for the shower
      })
      it('Should have a sink', function (){
        // do checks for the sink
      })
    })
    

    【讨论】:

    • 同意J先生的观点。同时您可以创建像“livingRoom”这样的文件夹,该文件夹可以同时拥有多个套件。
    • 好的,所以每个都应该是独立的并且有一个场景对吗?这样,如果一个失败了,它就不会失败其他的?
    • 如果你问我这绝对是要走的路:) 如果所有测试都依赖并且第一个失败了 10 个,看起来所有 10 个测试都被破坏了。但是,如果它们都是独立的,则可能会导致十分之一的失败。所以它并没有看起来那么坏
    猜你喜欢
    • 2023-02-14
    • 2021-10-20
    • 2020-05-16
    • 1970-01-01
    • 1970-01-01
    • 2021-11-06
    • 2021-10-14
    • 1970-01-01
    相关资源
    最近更新 更多