当这些功能相互关联时,我应该如何将这些功能分成不同的个案?

时间:2018-06-05 21:34:05

标签: laravel testing

说我想测试上传功能。

  1. 用户可以上传多个文件。
  2. 文件按日期分组,并放在日期为名称的文件夹中。 E.x. 2018-06-04,2018-06-03 ....
  3. 用户只能上传某些文件,例如e.x. jpeg,pdf ...
  4. 我应该单独测试它们还是将它们组合在一起并一次性测试?在测试案例1时,案例2也包含在逻辑中,对吧?如果我测试案例3,案例1和案例2也将包含在逻辑中。如果我在一个案例中一起测试它们,那么测试用例似乎太胖了。

    如果在编写案例1时没有包含案例2的逻辑,则整个测试最终会失败,因为文件不是按日期分组的。

    我该怎么办?

1 个答案:

答案 0 :(得分:1)

理想情况下,每个测试应仅测试一个功能。这样:

  1. 当需求发生变化时,您只需更改一个测试
  2. 您的实时文档(测试)将更具体,更易于理解
  3.   

    如果我测试案例3,案例1和案例2也将包含在逻辑

    不是真的。如果您测试用户是否只能上传jpg,则不必关心文件的保存位置。您只需要测试该用户只能选择特定的扩展名,该服务器将拒绝其他扩展名。您甚至不需要在测试中包含文件保存组件。

    另一件事是有一些辅助功能,它将准备上传数据,并将被大多数测试重用