使用Mocha设置嵌套测试的最佳方法是什么?

时间:2018-11-14 23:16:53

标签: node.js mocha

我目前正在进行一些测试,我想创建一些结构,以便在逻辑上嵌套我的系统测试。

假设我要运行以下测试:

  • 用户注册
    • 数据无效
      • 它应该失败
    • 具有有效数据
      • 应该成功
      • 用户登录
        • 凭据无效
          • 它应该失败
        • 具有有效凭证
          • 应该成功
          • 用户列出内容
            • 没有可用的东西
              • 它应该返回空列表
            • 可用的东西
              • 它应该返回东西列表
              • 用户在购物车中添加了东西
                • 购物车应展示东西

...等等。

考虑到这一点,这可能会成为嵌套的'describe'和'it'的一团糟。

在没有包含嵌套描述的巨大文件的情况下编写这些测试的最佳方法是什么?

(一种想法是使用依赖注入-awilix-创建作用域,然后滴入令牌,产品列表等之类的东西)

1 个答案:

答案 0 :(得分:0)

我认为没有什么最佳方法,当然重要的是测试的可读性可维护性

我的方法比较主观,但是如果需要的话,我会通过使用钩子使测试尽可能平坦。

例如,注册和登录测试将被重写为以下内容:

  • 注册用户
    • 应该成功(测试用例#1)
    • ...
    • 应该成功(测试用例#n)
    • 它应该失败(测试用例#1)
    • ...
    • 它应该失败(测试用例#n)
  • 以注册用户登录
    • 在每个钩子之前-应该注册用户
    • 应该成功(测试用例#1)
    • ...
    • 应该成功(测试用例#n)
    • 它应该失败(测试用例#1)
    • ...
    • 它应该失败(测试用例#n)
  • ...