2 testing unit-testing laravel
我正在使用Laravel 5.6编写一个没有视图的API,只是端点.
我对测试非常陌生,我的理解是单元测试来自程序员的角度,而功能测试来自用户的角度.
由于我只创建一个API,我是否会认为我只会编写单元测试?我可以安全地删除测试/功能目录吗?
我的测试将包括像
public function it_authenticate_a_user()
Run Code Online (Sandbox Code Playgroud)
对不起,如果它是一个沉闷的问题,我只是想学习.
谢谢
不,只编写单元测试并不是一个好主意.
真正的单元测试验证单个类或函数是否按预期工作.但是,它并不验证整个应用程序是否按预期工作 - 应用程序完全有可能从单元测试中获得100%的覆盖率,但实际上不能正常工作,因为组件不能按预期完全匹配.您还应该为端点编写功能测试.您的大多数测试应该是单元测试,但最好确保每个API方法都被功能测试所覆盖,只是为了确保这些部分适合.
换句话说,在Google,他们提倡一个名为测试金字塔的模型,它给出了70%单元测试,20%功能测试和10%高级验收测试的典型比例.它不应该被看作是刚性的,对于API我看不太需要验收测试,但它给出了一些健康的测试组合的想法.
API在某些方面比传统的Web应用程序更容易测试,因为它是无状态的,并且每种方法都相对简单,但它具有功能测试覆盖率同样重要.在Laravel中测试API路由非常简单 - 只需进行设置,发出请求并检查响应是否正确以及是否已进行任何更改.
归档时间: |
|
查看次数: |
2053 次 |
最近记录: |