【phpunit】教程文章相关的互联网学习教程文章

如何使用PHPUnit测试精确的Exception消息而不是子字符串?【代码】

根据@expectedExceptionMessage上的PHPUnit Documentation,字符串必须只是抛出的实际Exception的子字符串. 在我的一个验证方法中,为每个发生的错误推送一个数组项,并通过触发错误数组来显示最终的Exception消息.class MyClass {public function validate($a, $b, $c, $d){if($a < $b) $errors[] = "a < b.";if($b < $c) $errors[] = "b < c.";if($c < $d) $errors[] = "c < d.";if(count($errors) > 0) throw new \Exception(trim(...

如何使用phpunit-selenium设置元素属性【代码】

我想做点什么:// pseudocode $this->byCssSelector('p')->setAttribute('attributename', 'attributevalue');在phpunit-selenium怎么做?解决方法:您需要使用execute()执行javascript并使用setAttribute()设置属性:$this->execute(array('script' => "document.getElementById('my_id').setAttribute('name', 'value');", 'args' => array() ));

如何使用PHAR在MAMP中配置PHPUnit【代码】

我想测试我的PHP代码,我决定使用PHPUnit进行测试. 我已按照official documentation的步骤进行操作$wget https://phar.phpunit.de/phpunit.phar$chmod +x phpunit.phar$sudo mv phpunit.phar /usr/local/bin/phpunit$phpunit --versionPHPUnit x.y.z by Sebastian Bergmann and contributors.但是我在MacOS X上使用MAMP. 所以我不确定如何在MAMP中实现PHAR文件. 通常,文档告诉在终端中使用此注释:sudo mv phpunit.phar /usr/local/...

为PHPUnit的模拟对象定义类型【代码】

我想知道是否可以使用phpdoc来定义特定范围内的某个对象(仅在方法内)作为PHPUni的Mock,所以在该方法中我可以利用类型提示,例如 – > expected, – >方法等等,就像刚刚创建模拟而不将其解析为真正的类一样. 这是一个示范:class someTest extends PHPUnit {// here, usually we define the real class (SomeClass in this example)/** @var SomeClass */private $someMock;public function setUp(){$this->someMock = $this->getMoc...

仅在使用PHPUnit时找不到类【代码】

我正在使用Symfony2(2.7.3)应用程序进行测试,并且页面控制器仅在从PHPUnit(4.8.6)发送请求时才能加载类. 测试看起来像这样://AppBundle/Tests/Controller/PagesAvailableTest.php<?phpnamespace AppBundle\Tests\Controller;use Symfony\Bundle\FrameworkBundle\Test\WebTestCase;class PagesAvailableTest extends WebTestCase {public function testpages(){$client = static::createClient();$client->request('GET', '/contac...

Symfony3 phpunit xml【代码】

嘿所有在我的Symfony3项目中安装了PhpUnit,当我在我的终端bin / phpunit -c应用程序中运行时,我收到此错误:Could not load XML from empty string谷歌搜索它,结果我需要在我的app /目录中应用phpunit.xml文件,所以我做了,它看起来像这样:<?xml version="1.0" encoding="UTF-8"?><!-- http://www.phpunit.de/manual/current/en/appendixes.configuration.html --> <phpunitbackupGlobals = "false"backupStaticAttr...

在我的tests / bootstrap / setup / etc中使用phpunit命令行参数【代码】

我希望能够在我使用’–verbose’phpunit命令行参数时从我的测试中将一些配置数据打印到stdout. 我怎么能做到这一点?解决方法:可能这不是PHPUnit的作者真正想要的,但你可以这样做:<?phprequire_once 'PHPUnit/Framework/TestCase.php';class EnvironmentTest extends PHPUnit_Framework_TestCase {public function testHasParam(){if (in_array('--verbose', $_SERVER['argv']))echo "lots of info";elseecho "no info";} } ?>

PHPUnit – 测试自动加载器类

我需要为我的应用程序创建一个自动加载器.我不想依赖文件系统中的文件,那么如何模拟新的调用呢?或者你如何测试自动加载器类?谢谢.解决方法:Or how do you test an autoloader classImho你根本不需要对自动加载器进行单元测试. 如果你引导你的应用程序,它将崩溃非常困难,因为它可以找到所有需要的类或自动加载器工作正常. 测试套件中的每一个测试都将测试自动加载器是否能够加载“被测试的类”,因此我不会担心单元测试它. 如果你愿...

使用PHPUnit模拟未在测试类中指定的以编程方式确定的方法【代码】

使用PHPUnit 3.6我试图在下面的控制器类中测试exec()方法.这个方法做了两件事: >根据对象的现有属性确定要调用的方法的名称,并…>如果确定的控制器方法是可调用的,则执行它,如果不是,则该方法抛出异常 (简化)源代码如下所示:abstract class CLIController extends Controller {/* irrelevant class details here */public function exec(){$action = ! empty($this->opts->args[0])? $this->opts->args[0]: $this->default_actio...

如何在方法中模拟新对象 – phpunit【代码】

我正在使用phpunit测试php代码,我遇到了一个问题: 我正在测试课程:class ClassName {public function MethodName(){// something$objectName = new Object();$variableName = $objectName->execute();// something} }我想创建对象的模拟.我不想调用实际方法execute().我不知道怎么用ph??punit.我知道依赖注入,但恕我直言这种情况并没有通过依赖注入来解决. 谢谢你的回答.我很抱歉我的英语.解决方法:实际上,这种情况可以通过依赖注...

PHPUnit mocked方法返回null【代码】

我试图使用PHPUnit测试下面的类class stripe extends paymentValidator {public $apiKey;public function __construct ($apiKey){$this->apiKey = $apiKey;}public function charge($token) {try {return $this->requestStripe($token);} catch(\Stripe\Error\Card $e) {echo $e->getMessage();return false;}}public function requestStripe($token) {// do something } }我的测试脚本如下所示:class paymentvalidatorTes...

PHPUnit:assertFileEquals()失败【代码】

我正在开发一个PHP软件,可以从图像创建缩略图. 现在我需要确保成功创建缩略图,换句话说,初始图像已经正确调整大小/裁剪. 我认为只有一种方法可以做到这一点:我手动创建缩略图以与软件创建的缩略图进行比较. 但是怎么测试? 如果我使用assertFileEquals()比较我创建的缩略图和软件创建的缩略图,当然测试失败,即使两个图像相同. 我想,只要因为两个文件的创建日期不同或出于类似原因而发生这种情况. 那么,该怎么办?解决方法:存储一对...

phpunit Drupal7【代码】

http://patshaughnessy.net/2008/12/12/writing-your-first-phpunit-test-in-drupal phpunit TddTests modules/tdd/TddTests.php <?php require_once ./includes/bootstrap.inc; drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL); class TddTests extends PHPUnit_Framework_TestCase {public function test_tdd_help(){$this->assertEquals(tdd_help(admin/content/tdd), "<p>Help for TDD module.</p>");} } ?>https://tlattimore.com/...

使用PHPUnit进行单元和功能测试的文件系统/目录布局【代码】

我需要在我的测试套件中添加集成测试.虽然名称是PHPUnit,但我发现在这里运行非单元测试有很多支持.我的布局是这样的:<root>lib/Foo/Component.phptests/lib/Foo/ComponentTest.phpresources/fixtures/(我认为)有三种方法可以在这里添加高于单位水平的测试: 添加并行结构<root>tests/unit/lib/Foo/ComponentTest.phpintegration/lib/Foo/ComponentTest.phpresources/fixtures/这应该有效,除非现在没有1:1类:测试类关系可能(并且...

慢PHPUnit测试【代码】

我正在运行PHPUnit来使用CIUnit(两者之间的第三方接口)测试CodeIgniter应用程序.许多测试从空的MySQL数据库中选择数据,该数据库在setUp()中填充了5-10条记录.在Windows和Web服务器(Ubuntu 10.04 / Apache 2.2 / MySQL 5.1 / PHP 5.3)上,105次测试在2-3秒内运行,内存使用量约为30mb.在我的本地(Ubuntu 12.04 / Apache 2.2 / MySQL 5.5 / PHP 5.3)上,105次测试以相同的内存使用量运行,但大约需要45秒. 我已经缩小了使用数据库的测试的...

PHPUNIT - 相关标签