相关疑难解决方法(0)

如何在PHP中执行集成测试?

我目前正在对我的代码执行单元测试(使用PHPUnit和Jenkins),但我已经阅读了很多关于集成测试的内容.

  • 是否有任何工具可以在PHP(最好是自动化)中执行此操作?

  • 我将如何实施它?在任何地方都有任何好的教程吗?

php automation integration-testing

22
推荐指数
2
解决办法
1万
查看次数

Laravel 5集成测试中的多个HTTP请求

我们正在Laravel 4中开发我们的项目.我们的一个集成测试对同一个控制器执行两个连续的HTTP请求:

public function testFetchingPaginatedEntities() {
    $response = $this->call('GET', "foos?page=1&page_size=1");
    // assertions

    $response = $this->call('GET', "foos");
    // some more assertions
}
Run Code Online (Sandbox Code Playgroud)

如您所见,第二个请求不携带任何查询字符串参数.然而,我们注意到,我们的控制器被接收page,并page_size在这两个请求.

我们能够通过在调用之间重新启动测试客户端来解决这个问题(如Laravel 4控制器测试中所述 - 在过多$ this-> call()之后出现ErrorException - 为什么?):

public function testFetchingPaginatedEntities() {
    $response = $this->call('GET', "foos?page=1&page_size=1");
    // assertions

    $this->client->restart();

    $response = $this->call('GET', "foos");
    // some more assertions
}
Run Code Online (Sandbox Code Playgroud)

我们现在正在考虑将我们的项目移植到Laravel 5,但是$this->client由于L5不再使用,它看起来不再适用于测试Illuminate\Foundation\Testing\Client.

有人可以提供重置测试客户端的替代方案吗?或者也许是一种避免重启它的方法?

php integration-testing laravel-5

5
推荐指数
1
解决办法
1316
查看次数

标签 统计

integration-testing ×2

php ×2

automation ×1

laravel-5 ×1