我是phpUnit的新手。我通过composer安装了它。My composer.json如下所示:
"require": {
"php": ">=5.5.9",
"symfony/symfony": "^2.8",
"doctrine/orm": "^2.5",
"doctrine/doctrine-bundle": "^1.6",
"doctrine/doctrine-cache-bundle": "^1.2",
"symfony/swi
在一台虚拟机(干净、新鲜的Ubuntu服务器11.04)上,我创建了一个测试网站,如中所述,现在我想使用创建一个简单的测试网站
我在protected/tests/WebTestCase.php中设置了适当的TEST\u BASE\u URL,并创建了protected/tests/functional/MySimpleTest.php
<?php
Yii::import( 'ext.webdriver-bindings.CWebDriverTestCase' );
class MySi
使用PHPStorm运行测试时,它会从其他项目加载配置
/usr/bin/php /private/var/folders/jv/rch25xnj6y3cl_yf4s6qq64m0000gn/T/ide-phpunit.php --bootstrap /Users/reneterstegen/Sites/www.domain1.com/app/bootstrap.php.cache --configuration /Users/reneterstegen/Sites/www.one-of-my-
我一直在尝试在PhpStorm 8.0.1中设置PHPUnit,但运气不好。我下载了phpunit.phar,并在PhpStorm的设置以及phpunit配置文件中设置了指向该phar的路径,但是当我尝试运行测试时,它失败了,输出如下:
/usr/bin/php /tmp/ide-phpunit.php --no-configuration MyTest /project/MyTest.php
Testing started at 9:31 PM ...
Process finished wi
我有一个处理文件功能的类,比如:复制、移动、删除..等等
有没有一种方法可以在不使用copy()方法的情况下复制并测试文件,并且不影响本地文件系统操作系统(mac、win…)?使用PHPUnit
我想使用实体模型数据,可以吗?我建议您使用库:
vfsStream是一个PHP流包装器,用于虚拟文件系统,可以
在模拟真实文件系统的单元测试中很有帮助。它可以被使用
使用任何单元测试框架,如PHPUnit或SimpleTest
同样有用的信息在:
本文中真正有用的代码示例-
希望这有帮助。如果你需
OrderHelper类正在使用OrderRepository类更新订单(通过save方法)。我试图测试在OrderHelper::saveOrderSource中是否调用了OrderRepository::save
但它一直在说:
调用1次时,方法名称等于“save”的预期失败。
方法应被调用1次,实际调用0次
请帮忙
setUp()方法:
protected function setUp()
{
$objectManager = new ObjectManager(
您能否建议如何使用selenium捕获phpunit中的网络流量
据我所知,如果不进行大量定制,目前这是不可能的。我建议您遵循以下步骤:
恐怕您必须修改selenium扩展名
我正试图在Zend Studio中设置一些PHPUnit测试用例,但仍停留在“新PHPUnit测试用例”表单上。我得到的错误是:
There are several elements with the name 'PHPUnit_Framework_TestCase' in project 'espnova'.
Click 'Browse...' to choose one
当我浏览时,我只有一个PHPUnit_框架_测试用例可供选择。在下图中,您可以看到我所说的“新PHPUnit测试用例”
当我为我的PHP项目生成代码覆盖率时,我总是得到Symfony自动加载程序
<?php
require_once(__DIR__. str_repeat(DIRECTORY_SEPARATOR. '..', 1) . DIRECTORY_SEPARATOR . 'vendor'. DIRECTORY_SEPARATOR . 'autoload.php');
我尝试将此添加到我的PHPUnit配置中,但没有成功:
<filter>
<blacklist>
我开始使用ZfcUser+BjyAuthorize为Zend Framework 2项目进行单元测试
我不是单元测试专家,所以我找到了如何模仿ZfcUser的方法
现在我也不得不嘲笑BjyAuthorize。以前有人这样做过吗?好吧,现在回应这个问题肯定太晚了
我已经找到了一个使用Mock对象的解决方案,我不喜欢使用Mock…,我找不到一种方法来正确初始化BjyAuthorize
我的测试控制器扩展自AbstractHttpControllerTestCase
在testController::
我有以下文件结构:
包括
class.Klasse.php
src
autoload.php
测验
KlasseTest.php
此结构位于项目文件夹中。在linux shell上,在该文件夹中,我键入以下命令行:
phpunit --bootstrap src/autoload.php tests/KlasseTest.php
命令行显示了以下内容:
PHPUnit 4.1.4 by Sebastian Bergmann.
PHP Fatal error: Class '
我试图验证php7函数是否只接受整数
这是一节课:
<?php
declare(strict_types=1);
class Post
{
private $id;
public function setId(int $id)
{
$this->id = $id;
}
}
是的,您可以使用相同的方法测试类型错误
但是,我不会测试PHP是否在类型不匹配的情况下发出类型错误。这种测试对于PHP7代码来说是多余的。遗憾的是,TypeE
我正试图在我的ubuntu机器上运行PHPunit。但是当我运行命令phpunit时,它显示了错误
错误:调用未定义的方法SebastianBergmann\Environment\Runtime::discardsComments()
如何避免这种情况并运行测试?我使用的是Drupal 7,请不要使用全局安装的PHPUnit。尤其是如果您有一个使用Composer安装的项目本地PHPUnit,就更不用说了。使用vendor/bin/phpunit而不是phpunit我正在运行vendor/bi
我已经挣扎了将近一个星期,但找不到一个好的解决办法
我使用的是Laravel4.2和php单元5.7.27
我正在使用自定义虚拟主机:
我正在使用本地化,如果在浏览器中键入,它将如下所示:
下面是我的测试函数:
public function testViewSignin()
{
App::setLocale('en');
$result = $this->call('GET', '/user/signin', [], [], ['HTTP_HOST' => 'loc
我的系统上安装的phpunit是一个古老的版本,我没有更改它的权限。所以我下载了当前版本的phpunit,并将其(例如)放在/home/myname/apps/phpunit中/
如何让phpstorm使用该phpunit而不是/usr/bin/phpunit
问候,,
malicor可以为每个项目或您的用户分别安装PEAR:
$ mkdir ~/pear
$ pear config-create ~/pear ~/pear/pear.conf
现在,如果在每个命令中传递配置文件,则可以安装软
我有以下测试/文件夹:
tests/
ClassOne.test.php
ClassTwo.test.php
ClassThree.test.php
我考虑过编写一个单独的类,其中包含这些方法,require()每个测试文件中的该文件,并从该类扩展而不是从PHPUnit\u Framework\u Testcase扩展。有更简单的解决办法吗
我无法轻松访问phpunit.xml,因为我的编码框架的CLI工具(Laravel,artisan)处理它的创建。因此,如果有一个不
我尝试了以下SauceLabs PHP教程:
我试着让它在Windows上运行。因此,我遵循每一步,直到必须运行以下命令:
vendor\bin\phpunit.bat WebDriverDemo.php
这将生成一个错误:解析错误:语法错误,意外的T_使用,C:\xampp\htdocs\sauce tutorial\vendor\sauce\sauce\香肠\src\sauce\香肠\WebDriverTestCase.php中需要T_函数
第6行
所以我试着在第6行查看WebDriver
我正在从phpstorm8运行phpunit(编写器配置和版本4.8)。通常它工作正常,但每当我需要使用@runinsepareprocess注释时,它就会开始尖叫这个错误:
Fatal error: Class 'PHPUnit_Util_Configuration' not found in - on line 334
Call Stack:
0.0013 395808 1. {main}() -:0
IDE上的PHPUnit配置如下:
Language&Framework
由于某种原因,PHPUnit已经停止制作覆盖记录,我不知道为什么。昨天生产的很好。它仍然按预期运行单元测试,并且单元测试正确通过/失败,但它不再遵守--coverage参数。事实证明,这实际上是由OSX升级引起的。当OSX升级时,它将用默认的PHP cli bin替换当前安装的PHP cli bin。如果将php映射到另一个随MacPorts安装的二进制文件,则可能会出现问题。请务必查找警告信息XDebug not installed,或类似信息,这将表明发生了这种情况
应该注意:这将在XDeb
我刚刚将我的PhpStorm项目从PHPUnit 4.x升级到PHPUnit 5.x。运行我的单元测试很好
为了在覆盖率正常的情况下运行,我必须编辑我的运行/调试配置,并将-whitelist=/path/to/whitelist/dir添加到testrunner选项中。现在,当我选择“使用覆盖率运行”时,会生成覆盖率,但我得到了这个Xdebug警告
Testing started at 12:06 PM ...
/usr/local/opt/php56/bin/php -dzend_exten
我想知道是否有一种技术可以在不做整个过程的情况下测试钩子。hookActionObjectAddAfter的示例我想测试它,而不必像客户端那样发出完整的命令。
可能吗?有单一测试吗
提前感谢如果您在站点的根目录下创建了test.php文件,请输入以下代码:
require(dirname(__FILE__).'/config/config.inc.php');
Hook::exec('actionObjectAddAfter', array( array('object' => $par
在PHPUnit 10之前,可以使用下一个代码模拟不存在的类:
$this->getMockBuilder'NonExistentClass'
->setMethods[''调用']
->getMock;
在PHPUnit 10中,将删除setMethods:
新的MockBuilderAPI引入了addMethods方法,该方法位于内部,不允许再处理不存在的类
请告知我们如何使用新API为不存在的类创建模拟。我已完成下一个解决方案:
在我的测试文件夹中,我创建了一个空的物理类:
我完成了下一个
我编写了一个测试代码的方法,但问题是当我使用dataProvider时,我得到了:
1)警告
为userTest::TestCanValidateApikeysandDomainAutoTest指定的数据提供程序无效。
调用未定义函数show_message()
警告
测试:5,断言:12,警告:1。
这是我在没有数据提供者的情况下使用它时的代码
public function testItCanValidateApiKeysAndDomainByInputData(){
$this-&
我已经从SilverStripe 3升级到4,现在我的phpUnit测试无法运行,因为它们找不到我的任何自定义类
自动装弹机肯定少了什么东西
我有一个像这样的简单测试
use SilverStripe\Dev\SapphireTest;
class EntityTest extends SapphireTest
{
var $Entity;
function setUp()/* The :void return type declaration that should be
我正在尝试使用Xdebug/phpStorm测试Drupal项目。安装似乎很有效(经过大量工作!)。然而,当在phpStorm中设置断点并执行“Run”时,我得到了错误
PHP Fatal error: Uncaught Error: Class 'PHPUnit_Framework_TestCase' not found in /home/hs/hellm/vendor/albertofem/rsync-lib/tests/AFM/Rsync/Tests/CommandTest.php:16
这件事把我难住了。我已经在PHPUnit工作了几个月了,所以我不是那么绿……但我期待着被指向我犯下的明显错误的方向!如果我在浏览器上运行“应用程序”,下面概述的初始化过程可以很好地工作——但PHPUnit令人窒息……有人能让我摆脱痛苦吗
为了学习,我正在测试一个自制的MVC。它遵循典型的ZF布局。
以下是索引页:
include './../library/SKL/Application.php';
$SKL_Application = new SKL_Application();
$SKL_A
我注意到,当我使用mock对象时,PHPUnit将正确地报告执行的测试数量,但不正确地报告我正在进行的断言数量。事实上,每次我嘲笑它都算作另一个断言。一个包含6个测试、7个断言语句的测试文件,每个测试模拟报告了6个测试、13个断言
require_once '..\src\AntProxy.php';
class AntProxyTest extends PHPUnit_Framework_TestCase {
const sample_client_id = '495d179b948
跑步时
菲普尼特
我犯了一个错误
Warning: require(PHPUnit/Autoload.php): failed to open stream: No such file or directory in /usr/local/bin/phpunit on line 42
Fatal error: require(): Failed opening required 'PHPUnit/Autoload.php' (include_path='.:') in /usr/local
我遇到了用pyrus升级phpunit的问题,它总是输出如下内容:
Pyrus\Installer\Exception: Dependency validation failed for some packages to install, installation aborted
Pyrus\Dependency\Exception: pear.phpunit.de/PHPUnit requires package "channel://pear.phpunit.de/PHP_Code
在PHPUnit中,两者之间有什么区别吗
$mockFoo->method('methodName')->will($this->returnValue($mockBar))
及
$mockFoo->method('methodName')->willReturn($mockBar)不,willReturn()只是一个快捷方式。在引入之前,另一种变体是唯一的。现在,对于这个简单的案例,您不需要它
引述:
此简短语法与will($This->returnValue($value))相同。我们可以使
是否可以将PHPUnit测试生成的结果保存为文本文件或html文件,以便我们以后可以查看并通过电子邮件发送给相关人员?简单地说,我的要求是将IDE(Netbean或Eclipse)或命令提示符中的输出保存到本地系统(我执行测试的系统)的文件中。搜索了很长时间后,我没有找到所需的解决方案。如果有人有解决方案,请帮助我。如果您在unix上使用命令提示符,是否可以使用将输出重定向到文本文件
phpunit ArrayTest > MyArrayTestOutput.txt
大多数IDE还允许您
在我的项目中,有某些目录和某些php文件,它们的大小非常大,因此我的构建失败,我想在我的build.xml
Ques1-我是否必须为项目中的每个php文件编写--ignore=“path/filename”
Ques2-有些文件不是php,而是.dat,所以我应该在--忽略中提到这些文件吗
Ques3-我是否可以指定根据文件大小排除文件,以便排除所有大于500kb的文件
我当前的xml文件如下所示:
<?xml version="1.0" encoding="UTF-8"?>
&l
使用phpunitmock对象,我有一个返回对象的方法
如何使用expects/method/will方法对其进行编码
i、 e
创建对象,并使用returnValue()函数返回它。例如:
$myObject = new RandomObject();
$myFactory = $this->getMock('ObjectFactory', array('getRandomObject'));
$myFactory->expects($this->any())->met
我有一个模型类,在它的一个方法中调用mailer类:
class someModel{
public function sendEmail($data){
$mailer = new Mailer();
$mailer->setFrom($data['from']);
$mailer->setTo($data['to']);
$mailer->setSubject($data['subject'])
假设我们有以下数组,$myArray,要根据var\u导出进行检查:
数组(
0=>AnObject::\u设置\u状态(数组)(
“id”=>10,
'name'=>'foo'
)),
1=>AnObject::\u设置\u状态(数组)(
“id”=>23,
'name'=>'bar'
)),
2=>AnObject::\u设置\u状态(数组)(
“id”=>55,
'name'=>'baz'
)),
)
如果此数组包含一个名为'bar'的对象,则断言应通过
我知道如果我知道AnObject
当我尝试运行PHPUnit时,所有的测试都会立即被跳过——没有错误或任何东西。有人能给我指出正确的方向吗
[vagrant@vagrant selenium]$ phpunit .
PHPUnit 3.7.28 by Sebastian Bergmann.
Configuration read from /applications/selenium/phpunit.xml
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
Time: 61
我正在使用Codeception对我的Laravel4PHP应用程序进行单元测试、功能测试和验收测试
我的单元测试如下所示:
use Codeception\Util\Stub;
class ExampleTest extends \Codeception\TestCase\Test
{
public function testExample()
{
$example = true;
$this->assertSame($example, true);
}
}
我的功能测
我正在学习Lynda.com教程,无法让PHPUnit正常工作
以下是我所做的:
项目文件夹:C:\wamp\www\stats
在此文件夹中,我有一个composer.json文件:
{
"require": {
},
"require-dev": {
"phpunit/phpunit": "*"
},
"autoload": {
"psr-0": {
"stats": ""
}
我正在用PHPUnit测试一套restweb服务。我们使用输出缓冲来对响应进行gzip编码。当我使用PHPUnit为服务运行测试时,我得到错误:
Cannot modify header information - headers already sent by (output started at /home/dotcloud/php-env/share/php/PHPUnit/Util/Printer.php:172)
它在抱怨我的代码回显是浏览器的输出
通过在测试类的顶部添加一个ob_s
我在OSX(10.7.5)上安装了Zend Server CE,我通过PEAR安装了PHPUnit
$ which pear
/usr/local/zend/bin/pear
$which php
/usr/local/zend/bin/php
$php -v
Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies
with Xdebug v2.2.3, Copyright (c) 2002-2013, by Deric
无法使phpunit工作,即使在运行phpunit--version时也不行
我的终端中没有返回任何内容,没有版本详细信息,也没有错误
我使用的是MAMP Pro 2.1.4和PHP5.3.20
我使用的是MAMP版本的Pear
which pear
/Applications/MAMP/bin/php/php5.3.20/bin/pear
pear -V
PEAR Version: 1.9.4
及
PHPUnit目录位于/usr/local/pear/share/pear/PHPUnit中
我在Ubuntu虚拟机上主持一个项目,但我在Mac OS X上编辑所有代码,使用osxfuse从VM装载远程文件夹。由于文件系统不匹配,OSX在我的测试目录中留下了。*文件
由于这些文件以*Test.php结尾,PHPUnit执行它们,将内容吐入stdout,并用一堵特殊字符墙掩盖有用的调试信息。通常,PHPUnit默认情况下不缓冲非测试代码,例如:
<?php /* NotATest.php */ ?>
In ur stdout
<?php
echo "killin ur u
我正试图通过2017年版PhpStorm在流浪汉中执行PHPUnit。
我可以通过SSH(Putty)运行PHPUnit
我已经设置了一个远程PHP解释器,它正确地显示“PHP版本:5.6.31-4+ubuntu14.04.1+deb.sury.org+4”。当我导航到Settings/Languages/PHPUnit时,选择“Use Composer Autoloader”并输入路径到/mnt/asf/vendor/autoload.php,它会显示
Can not parse PHPUni
我将PHPUnit与processIsolation=“true”一起使用,因为我需要在测试的代码中设置cookie值,而没有processIsolation=“true”就无法完成。但在我的一个测试用例中,我得到了一个错误:
PHPUnit_Framework_Exception: [10-May-2018 15:23:28 UTC] PHP Fatal error: Uncaught PDOException: You cannot serialize or unserialize PDO
我的项目中有一些PHPUnit测试,其中一些使用@expectedException特性,如下所示
/**
* @expectedException League\OAuth2\Client\Provider\Exception\IdentityProviderException
**/
public function testExceptionThrownWhenErrorObjectReceived()
{
...
}
/**
* @expectedException Lea
在tearDown()中只将null赋值给obj。在测试时,其他函数在db中创建的所有条目都将被删除,为此,我们应该在tearDown()中编写这是我的想法
我相信从文件上可以回答你的问题。此外,本部分的解释也有助于:
setUp()和tearDown()模板方法对测试用例类的每个测试方法(以及新实例)运行一次。
此外,分别在测试用例类的第一个测试运行之前和测试用例类的最后一个测试运行之后调用setUpBeforeClass()和tearDownAfterClass()模板方法
protecte
我使用Simpletest测试套件以不同的配置方法运行所有测试。我已经为每个配置方法创建了一个套件,它设置了环境,然后运行所有测试
看看,如果不清楚的话
现在似乎有,但据我所知,它只是用于分组测试,不支持设置环境或运行PHP脚本
如何将测试套件转换为PHPUnit?我愿意重新思考测试的结构:)您可以在每次测试之前或在每个测试套件之前使用测试夹具来设置您的环境:
你正在寻找的方法是
setUp()和tearDown()(在每次测试之前/之后调用),以及
setUpBeforeClass()和t
当我尝试执行测试时,我收到消息“没有执行测试”
phpunit
或
另一方面,如果我这样做
phpunit -c phpunit.xml ./tests
它起作用了。但考虑到我使用的一些工具不能很好地处理这个问题,这是一个问题
目录结构
密码
测验/
phpunit.xml
autoloader.php
这是配置文件
<phpunit backupGlobals="false"
backupStaticAttributes="false"
color
我已经在Windows32位(PHP版本5.6.3)上安装了XAMPP5.6.3,我想安装PHPUnit
我遵循PHPUnit官方网站上的指示:
但是,当我在命令行中运行这一行phpunit--version时,我得到以下消息:
'php' is not recognized as an internal or external command, operable program or batch file.
如何解决这个问题?问题是我的路径中没有包含PHP。
所以我采用了这个解决方案:
W
我使用phpunit的testsuites特性来组织测试。我这样做是为了以后能够并行运行测试
对于不同的目录,这是相对直接的。例如,我可以将测试套件按捆绑包进行拆分
<testsuite name="bundle-one">
<directory>tests/BundleOne</directory>
</testsuite>
<testsuite name="bundle-two">
<directory>
上一页 1 2 ...
5 6 7 8 9 10 11 ...
下一页 最后一页 共 16 页