【PHPUnit札记(一)】教程文章相关的互联网学习教程文章

phpUnit中数据供给【代码】

数据供给 索引数组 <?php require_once dirname(dirname(__FILE__)) . '\vendor\autoload.php';use PHPUnit\Framework\TestCase;class MyClassTest extends TestCase{public function one(){return [[1, 2, 3],[1, 1, 2],[1, 1, 1]];}/*** @test* @dataProvider one*/public function two($arr_value_1, $arr_value_2, $arr_value_3){$expectd_value = $arr_value_3;$actual_value = $arr_value_1 + $arr_value_2;$this->assertEqu...

PHPUnit代码覆盖率不适用于配置【代码】

我的PHPUnit设置和覆盖率报告运行良好,没有白名单过滤器.但是,一旦我添加了一个,报告似乎只会部分生成,好像PHPUnit意外退出一样.我没有收到任何错误或警告. 我的配置看起来像这样:<?xml version="1.0" encoding="UTF-8"?> <phpunit bootstrap="./bootstrap.php"colors="true"><testsuites><testsuite name="..."><testsuite name="..."><directory>./path/to/suite</directory></testsuite><testsuite name="..."><directory>./pa...

PHP-PHPUnit-测试保护文件锁的能力【代码】

我正在为我的核心库更新单元测试,遇到了一个有关文件锁(群发)的场景,并且想了解其他人如何实现这些类型的单元测试. 基本上,我有一个utlity File类,它将内容写入文件:class CoreLib_Api_File_Package {public static function write(array $options){...if (!$file->flock(LOCK_EX)) {throw new CoreLib_Api_Exception('Unable to obtain lock on file');}...} }我的单元测试如下:public function testWriteException_UnableToSec...

使用Netbeans PHPUnit在远程服务器上进行PHP单元测试,可能吗?

我已经在本地Windows计算机和远程Linuxserver上安装了PHPUnit.我可以从Netbeans在本地运行PHPUnit.我的下一步是使用Netbeans触发PHPUnit.bat脚本以:-SSH到远程服务器-从那里运行PHPUnit 手动地,我可以使用PLink进行SSH并从远程服务器的PHPUnit运行中获取输出. 关于如何配置PHPUnit.bat脚本的任何想法?解决方法:您需要编写自己的批处理脚本来执行这些相同的手动步骤.捕获NetBeans传递的参数,ssh到服务器并使用相同的参数执行PHPUn...

PHPUnit配置文件和auto_prepend_file【代码】

我正在尝试使用phpunit配置文件来设置特定的php-ini设置.当我尝试将auto_prepend_file设置为已存在的文件(同时测试了相对路径和绝对路径)时,它不起作用. 但是,如果在php-ini文件中进行设置,我确实可以工作.php.ini[...] auto_prepend_file=/path/to/project/config.php [...]我想做的是在加载测试用例之前先加载此config.php文件,因为我需要访问某些功能和配置变量.也许我可以使用除auto_prepend_file之外的其他方式来做到这一点!...

如何访问在另一个PHPUnit测试中初始化的对象【代码】

我有以下代码:public function testFoo() {$this->object = newBar(); }但是稍后,例如,在方法testAdd()中,$this-> object为null. testAdd在testFoo之后执行. 为什么会发生这种情况,并且整个测试用例都有类似setUp的方法?解决方法:每个测试方法都在测试用例类的新实例上执行.实际上,在每次测试之前都会有一个设置方法,称为setUp.public function setUp() {$this->object = newBar(); }public function testFoo() {// use $this->o...

PHPUnit和扩展类【代码】

我很好奇,我有一个称为Base的基类和一个称为Controller的控制器类,显然您无法在netbeans中测试控制器,因为它找不到Base类.class Controller extends Base{} class Base{}netbeans将为Base生成测试,但不会为控制器生成测试.这是因为A)每个测试都必须扩展PHP单元,以及B)如果您测试了Base中的逻辑并且一切都通过了,那么可以安全地假设控制器也会这样做吗? -似乎不可信. 在这种情况下,人该怎么办?解决方法:您必须包含该文件,或者可以...

使用PHPUnit在php中测试关机例程(register_shutdown_function)【代码】

我有一个File类,带有-> deleteOnExit函数.如果调用此函数,则文件将在关机时自行删除. File类使用register_shutdown_function函数来实现此目的,并在运行关闭处理程序时删除文件.问题是,我如何在PHPUnit中对此进行测试.我试过了$file = new File(__DIR__ . "/delete_on_exit.txt"); $file->createFile(); $file->deleteOnExit(); register_shutdown_function(function() use ($file) {$this->assertFalse($file->exists()); });但这没...

如何在PHPUnit中的不同测试中共享对象【代码】

我具有以下类“ MyControllerTest”,用于测试“ MyController”.我想在该类的不同测试中共享同一对象,即“ $algorithms”,但在尝试将变量添加到不同位置后,我不知道该怎么做:class MyControllerTest extends Zend_Test_PHPUnit_ControllerTestCase {// $algorithms = ... <----- does not workpublic static function main(){$suite = new PHPUnit_Framework_TestSuite("MyControllerTest");$result = PHPUnit_TextUI_TestRunne...

涵盖功能的许多测试用例-phpunit【代码】

对于以下功能,我需要编写更多的测试用例,我已经编写了一个,可以有人给出一些想法,也许可以测试中间函数调用的返回值.public function calculateShortestPath($graphObj, $start, $destination) {$shortestPath = null;if ($this->validateParams($graphObj, $start, $destination) == true) {$result = $this->getAllVerticesAndNeighbours($graphObj);$vertices = $result[self::VERTICES];$neighbours = $result[self::NEIGHBOUR...

PHPunit在Travis CI上不执行测试【代码】

我第一次关注PHPUnit教程,并且我的测试在本地运行良好.但是,在Travis CI上运行测试时,不执行任何测试,并且构建以0退出. 我的目录结构和完整代码可以在repo上看到. Travis CI (Full build log)的构建日志1.51s$curl -s http://getcomposer.org/installer | php #!/usr/bin/env php All settings correct for using Composer Downloading... Composer successfully installed to: /home/travis/build/idavidmcdonald/phpunit-tutoria...

PHPUnit Mock多种不同的方法【代码】

我是单元测试的新手,正在尝试PHPUnit框架. 我有一个调用其他两个函数的函数:class Dummy{public function dummyFunction(){$this->anotherDummyFunction();.....$this->yetAnotherDummyFunction();}public function anotherDummyFunction(){.....}public function yetAnotherDummyFunction(){.....} }我想测试在调用dummyFunction()时是否要调用两个函数. 这里是测试类:class TestDummyClass {public function testDummyFunction...

PHPUnit-来自多个项目文件夹的一份覆盖率报告?【代码】

我有一个结构如下的项目:project ├── app │?? ├── phpunit.xml │?? ├── src │?? └── tests │?? └── unit └── modules├── module1│?? ├── phpunit.xml│?? ├── src│?? └── tests│?? └── unit└── module2├── phpunit.xml├── src└── tests└── unit所有核心接口/类都在app / src中,所有扩展/实现都在模块/ **中.因此,src文件夹包含所有Controllers,Models等,而相邻的...

使用Codeception运行现有的Laravel 5.1 PHPUnit测试【代码】

我为Laravel 5.1应用程序编写了许多测试,并且我目前正在使用PHPUnit来运行测试.我正在尝试研究代码接收,因为我们还有其他不在Laravel上构建的应用程序,因此代码接收似乎是获得类似接口进行测试的最简单方法. 我们有一个相当大的团队,所以我宁愿使用一个一致的命令来测试所有项目,而不是使用codecept和phpunit. 这是我尝试过的codeception.yml:actor: Tester paths:tests: testslog: storage/codeception/_outputdata: storage/cod...

测试期间phpunit令牌存储错误【代码】

我有一个测试文件来测试服务实例,并且已经用KnpMenuBundle制作了一个自定义菜单.一切正常,期望phpunit在测试我的MenuBuilder时返回错误. 有一个功能可以测试我的测试文件中的所有服务实例:class ServiceAvailabilityTest extends KernelTestCase {/*** @dataProvider getServiceIds** @param $serviceId*/public function testServiceInstance($serviceId){static::bootKernel();static::$kernel->getContainer()->get($serviceId...

PHPUNIT - 相关标签