单元测试对项目维护是很重要滴,一个好的项目先写单元测试,再写业务代码。
使用步骤:
1、下载phpunit。
我是在thinkphp6.0的框架中,
1 | bash复制代码composer require phpunit/phpunit |
Laravel框架则是已经安装好了。
下载好后进入框架目录(本地环境,没有配置全局变量的情况下):vendor/bin
终端执行:
1 | bash复制代码./phpunit --version |
成功的看到phpunit版本信息
2、使用phpunit
在app目录下创建test目录内,新建文件 FirstTest.php
1 | php复制代码<?php |
在vendor/bin目录中终端执行这个php文件:
1 | bash复制代码./phpunit ../../app/test/FirstTest |
可以看到测试结果。
3、讲道理,每个接口都应该写单元测试。
在对接口单元测试的时候;需要引入该文件,new这个对象调用方法。
thinkphp6:
1 | php复制代码<?php |
Laravel(比较清晰):
1 | php复制代码<?phpnamespace |
tests目录下有测试目录和文件
测试语法看文档。
断言核心方法
assertArrayEquals(expecteds, actuals)
查看两个数组是否相等。
assertEquals(expected, actual)
查看两个对象是否相等。类似于字符串比较使用的equals()方法
assertNotEquals(first, second)
查看两个对象是否不相等。
assertNull(object)
查看对象是否为空。
assertNotNull(object)
查看对象是否不为空。
assertSame(expected, actual)
查看两个对象的引用是否相等。类似于使用“==”比较两个对象
assertNotSame(unexpected, actual)
查看两个对象的引用是否不相等。类似于使用“!=”比较两个对象
assertTrue(condition)
查看运行结果是否为true。
assertFalse(condition)
查看运行结果是否为false。
assertThat(actual, matcher)
查看实际值是否满足指定的条件
fail()
让测试失败
本文转载自: 掘金