当前位置:Gxlcms > PHP教程 > [PHP][LaravelTest]单元化测试:深入测试篇

[PHP][LaravelTest]单元化测试:深入测试篇

时间:2021-07-01 10:21:17 帮助过:23人阅读

本文适用于对 PHP 和 laravel 框架有一定了解并已经看完laravel入门视频:Laravel 5 Fundamentals 的初学者。本文内容主要讲解如何使用单元化测试工具测试应用。

相关视频 laravel test 已经下载到网盘如果还没看请先下载观看:

  • 链接: http://pan.baidu.com/s/1sjXeLQH
  • 提取密码:jjb5

1.在 tests 目录下,新建测试文件 OrderTest.php 。

add($product);        $order->add($product2);         $this->assertEquals(2,count($order->products()));    } } 

在 App 目录下创建 Order.php 文件

products[] = $product;    }     public function products()    {        return $this->products;    }} 

优化最后一行代码使用 assertCount() 方法。

add($product);        $order->add($product2);         $this->assertCount(2,$order->products());    } } 

输入命令: phpunit tests/unit 测试

2.测试订单总额。

输入命令: phpunit --filter an_order_can_determine_the_total_cost_of_all_its_products

只测试一个方法

add($product);        $order->add($product2);         $this->assertCount(2,$order->products());    }     /** @test */    function an_order_can_determine_the_total_cost_of_all_its_products()    {        $order = new Order;         $product = new Product('Fallout4',59);        $product2 = new Product('Pillowcase',7);         $order->add($product);        $order->add($product2);         $this->assertEquals(66,$order->total());    }} 

测试文件 Order.php

products[] = $product;    }     public function products()    {        return $this->products;    }     public function total()    {        total = 0;         foreach($this->productsas $product){            $total += $product->cost();        }         return $total;    }} 

通过测试

使用 createOrderWithProducts() 方法简化代码。

createOrderWithProducts();         $this->assertCount(2,$order->products());    }     /** @test */    function an_order_can_determine_the_total_cost_of_all_its_products()    {        $order = $this->createOrderWithProducts();         $this->assertEquals(66,$order->total());    }     protected function createOrderWithProducts()    {         $order = new Order;         $product = new Product('Fallout4',59);        $product2 = new Product('Pillowcase',7);         $order->add($product);        $order->add($product2);         return $order;    }} 

总结

本篇稍微深入的测试了一下 Order 类,后续继续作详尽阐述。

人气教程排行