草庐IT

ecomdev-phpunit

全部标签

php - 在 PHPUnit 中模拟/ stub FTP 操作

我是一个相对较新的单元测试转换者,我在这里遇到了一个绊脚石:如何使用PHP的内置ftp函数测试连接到远程FTP服务器并在其上执行操作的代码?一些谷歌搜索为Java(MockFtpServer)提供了一个快速模拟选项,但对于PHP没有现成的可用选项。我怀疑答案可能是为PHP的ftp函数创建一个包装类,该类随后可以被stub/模拟以模仿成功/不成功的ftp操作,但我真的很感谢比我聪明的人的一些意见!请注意,我一直在使用PHPUnit,并且需要专门针对该框架的帮助。根据@hakre的请求,我想测试的简化代码如下所示。我本质上是在问最好的测试方法:publicfunctionconnect($

PHPUnit 输出导致 Zend_Session 异常

我遇到了很多与此完全相同的错误:Zend_Session_Exception:Sessionmustbestartedbeforeanyoutputhasbeensenttothebrowser;outputstartedin/usr/local/zend/share/pear/PHPUnit/Util/Printer.php/173运行我的应用程序的测试套件时。这是PHPUnit3.5.10和PHP5.3.5。没有神秘的、意外的空白输出导致这种情况。我已经确定“发送到浏览器的输出”是正在执行的PHPUnit测试的实际输出。如果我打开PHPUnit/Util/Printer.php并用

PHPUnit 输出导致 Zend_Session 异常

我遇到了很多与此完全相同的错误:Zend_Session_Exception:Sessionmustbestartedbeforeanyoutputhasbeensenttothebrowser;outputstartedin/usr/local/zend/share/pear/PHPUnit/Util/Printer.php/173运行我的应用程序的测试套件时。这是PHPUnit3.5.10和PHP5.3.5。没有神秘的、意外的空白输出导致这种情况。我已经确定“发送到浏览器的输出”是正在执行的PHPUnit测试的实际输出。如果我打开PHPUnit/Util/Printer.php并用

PHPUnit @dataProvider 根本不起作用

我已阅读有关该主题的文档,并且我的代码符合数据提供程序实现的所有要求。首先,here'sthefullcodeofthetest以防万一。这是实现数据提供者的功能:/***TestthecreateGroupfunction**@returnvoid*@authorTomasSandven**@dataProviderprovideFileImportTests_good**/publicfunctiontestCreateGroup($file,$groupname,$group,$mapping){//Createatestgroup$id=$this->odm->createGr

PHPUnit @dataProvider 根本不起作用

我已阅读有关该主题的文档,并且我的代码符合数据提供程序实现的所有要求。首先,here'sthefullcodeofthetest以防万一。这是实现数据提供者的功能:/***TestthecreateGroupfunction**@returnvoid*@authorTomasSandven**@dataProviderprovideFileImportTests_good**/publicfunctiontestCreateGroup($file,$groupname,$group,$mapping){//Createatestgroup$id=$this->odm->createGr

php - 在包含路径 phpstorm 中找不到 PHPUnit

CannotfindPHPUnitinincludepath是我尝试在phpstorm中运行代码时收到的错误消息。在PHP设置中,我的PHP级别语言是5.4(特征、短数组语法等),解释器是Name(5.4.7)其中名称是用户定义的。当我尝试运行代码时出现错误,确切的消息是这样的:C:\xampp2\php\php.exeC:\Users\DELL\AppData\Local\Temp\ide-phpunit.php--no-configurationC:\xampp2\htdocs\ft-websiteTestingstartedat2:34PM...Processfinishedwi

php - 在包含路径 phpstorm 中找不到 PHPUnit

CannotfindPHPUnitinincludepath是我尝试在phpstorm中运行代码时收到的错误消息。在PHP设置中,我的PHP级别语言是5.4(特征、短数组语法等),解释器是Name(5.4.7)其中名称是用户定义的。当我尝试运行代码时出现错误,确切的消息是这样的:C:\xampp2\php\php.exeC:\Users\DELL\AppData\Local\Temp\ide-phpunit.php--no-configurationC:\xampp2\htdocs\ft-websiteTestingstartedat2:34PM...Processfinishedwi

php - 使用 PHPUnit 模拟 PDO 对象

我在用PHPUnit模拟PDO对象时遇到了困难。网上似乎没有太多关于我的问题的信息,但我可以收集到的信息:PDO具有“最终”__wakeup和__sleep防止它被序列化的方法。PHPunit的模拟对象实现会在某些时候序列化对象。发生这种情况时,单元测试会因PDO生成的PHP错误而失败。通过在单元测试中添加以下行来防止这种行为:classMyTestextendsPHPUnit_Framework_TestCase{protected$backupGlobals=FALSE;//...}来源:http://sebastian-bergmann.de/archives/797-Globa

php - 使用 PHPUnit 模拟 PDO 对象

我在用PHPUnit模拟PDO对象时遇到了困难。网上似乎没有太多关于我的问题的信息,但我可以收集到的信息:PDO具有“最终”__wakeup和__sleep防止它被序列化的方法。PHPunit的模拟对象实现会在某些时候序列化对象。发生这种情况时,单元测试会因PDO生成的PHP错误而失败。通过在单元测试中添加以下行来防止这种行为:classMyTestextendsPHPUnit_Framework_TestCase{protected$backupGlobals=FALSE;//...}来源:http://sebastian-bergmann.de/archives/797-Globa

php - 在命名空间中组织 PHPUnit 测试

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题吗?更新问题,以便editingthispost提供事实和引用来回答它.关闭2年前。Improvethisquestion我看到了将PHPUnit单元测试组织到命名空间层次结构中的两个选项。这两种方法的优点/缺点是什么?是否有任何我没有考虑到的明显缺陷会使一个明显更好的选择?考虑像\SomeFramework\Utilities\AwesomeClass这样的示例类:方法1:将每个TestCase类放入与被覆盖类相同的命名空间中。\SomeFramework\Utilities\AwesomeClassTes