为了提高我的代码质量,我决定尝试学习如何使用单元测试来测试我的代码,而不是使用最好的测试解决方案。
我决定使用composer为个人库安装PHPUnit,它允许我实现常见的数据库功能。起初,我没有PHPUnit的配置文件,当我运行以下命令时:
$ phpunit tests/GeneralStringFunctions/GeneralStringFunctionsTest
请注意,这是一个终端命令,因此我没有包括。php
扩展。上面提到的GeneralStringFunctionsTest实际上是一个GeneralStringFunctionsTest。php
文件。
输出是我所期望的:
时间:31毫秒,内存:2.75Mb
OK(1个测试,1个断言)
然后我尝试使用配置文件自动加载测试套件,而不是每次都手动输入文件。我在根目录中创建了一个名为phpunit.xml
的文件,并在文件中输入了以下内容:http://pastebin.com/0j0L4WBD:
<?xml version = "1.0" encoding="UTF-8" ?>
<phpunit>
<testsuites>
<testsuite name="Tests">
<directory>tests</directory>
</testsuite>
</testsuites>
</phpunit>
现在,当我运行命令时:
phpunit
我得到以下输出:
PHPUnit 4.5。0由塞巴斯蒂安·伯格曼和贡献者撰写。
从/Users/muyiwa/Projects/DatabaseHelper/phpunit读取配置。xml
时间:16毫秒,内存:1.50Mb
没有执行测试!
如果有帮助,我的目录结构如下:
src-顶级目录(包含所有源代码)
tests-顶级目录(包含所有测试,结构与我的src文件夹相同)
供应商-编写器第三方文件
我还有composer json和lock文件,以及作为文件的顶层phpunit xml文件。
phpunit中的目录。xml
到测试/通用字符串函数
phpunit中的目录。xml
到/测试
phpunit。将xml
文件添加到测试
目录,然后将目录更改为/
而不是测试
将后缀属性添加到phpunit中的目录标记。xml
将“Tests”指定为显式后缀
在windows上,在终端上使用以下命令
.\vendor\bin\phpunit
如果命令
phpunit
返回“未执行任何测试!”
而在Mac上
./vendor/bin/phpunit
希望有帮助。
您的XML文件现在就可以了。但是,您必须确保tests/
文件夹中的PHP文件命名如下:
测试/测试。php
文件名必须以“Test.php”结尾。这就是PHPUnit在目录中寻找的内容。
此外,每个测试方法的名称必须以“test”或@test
注释开头:
public function testFooBar()
{
// Your test code
}
或:
/**
* @test
*/
public function fooBarTest() {
// test code here
}
希望有帮助!
值得一提的是(迟到了),我最近在为一个简单的网站制作一个新的Laravel 5.1项目时遇到了这个问题。我试图调试它,当我尝试时感到困惑:
php artisan make:test homeTest
(它有一个默认测试,该测试仅断言true为true)
看到了输出
No tests executed!
我最终遇到的问题与我的PHP安装有关——“phpunit”是全局注册的,配置方式不同,而Laravel安装附带的phpunit配置正确,运行完美。
因此,修复程序正在运行供应商配置的phpunit(从与app/和tests/相同的根目录):
./vendor/bin/phpunit
希望这能帮助别人!
我无法用PHPUnit解决测试问题。这是我的密码,有点问题。这是年度百分比计算(https://en.wikipedia.org/wiki/Annual_percentage_rate ). 在cmd中: 不要考虑Oracle模块,这是另一回事。我在“composer安装”之后运行了“phpunit”。 项目/测试/测试概述。php: 项目/phpunit.xml 我解决不了,试了很多次:(
我刚刚通过composer安装了PHPUnit,试图通过跳上测试驱动开发的潮流,成为一名优秀的后端开发人员。然后我运行命令vendor/bin/phpunit,可以看到phpunit安装正确。 以下是我的文件结构: 在phpunit内部。xml文件我有以下内容: 如果我运行vendor/bin/phpunit,我可以看到我的配置文件已加载,但没有运行任何测试。 我基本上在tests文件夹和扩展的P
在试图用PHPUnit设置Eclipse作为单元测试库时,我陷入了试图运行一个简单测试用例的困境。作为参考,我按照本教程使用PHPUnit/Xdebug/Makegood来设置Eclipse,唯一偏离给出的指导方针是为PHPUnit/Makegood设置以下配置文件: 现在,问题的根源在于,我似乎无法使用Makegood从Eclipse运行PHPUnit测试。我编写的唯一测试(位于名为test.p
这是我的文件: 我已经尝试根据Github中的这个线程添加 自从我看到关于的消息后,我将此添加到我的中(通过各种google搜索): 如果有人对我如何调试这种情况有一些想法的话。
我无法使用maven运行spring boot应用程序的测试。我看过很多关于这个的帖子,他们的大多数解决方案是: 将junit版本与maven surefire插件或 确保junit版本不是由预定义的 我的项目不使用父级,也不使用专家-sure-fire插件。否则,根据pom文件,我没有看到任何明显的冲突。我确实看到了 ,但这是向后兼容性的纯复古依赖性的一部分。 是什么导致了这种情况? 砰的一声
我最近将phpMyAdmin版本更新为。在此之后,我有一些错误,我设法修复,但一个仍然存在。我得到一个信息: 配置文件现在需要一个秘密密码短语(blowfish_secret)。 我检查了文件,发现有这个部分 所以我检查了文件并对其进行了编辑。现在看起来是这样的。 我确保所有的文件都在组中,并且至少有至少 我甚至在中添加了的行,以确保它在那里。 但是错误仍然存在。因此,由于某种原因,phpMyAd