我试图测试我的雄辩模型,但我的测试一直失败,出现“类‘雄辩’未找到”错误。如果我添加一个使用我的雄辩模型的路由,并简单地打印存储在数据库中的一些信息,那么一切都很正常。只有在尝试运行phpunit时,我才发现没有找到雄辩的问题。我的模型在app/models中,所以它应该包含在composer类映射中,并且我已经完成了composer dump autoload。我肯定我忽略了一些非常明显的东西,但我无法分辨出来。知道问题是什么吗
我的测试:
class GameTest extends Tes
我在用PHP实现Selenium RC时遇到了一些问题。这是一些路径问题的原因。我已成功安装了PHPUnit,但无法运行测试用例。每次我面对“未找到类PHPUnit_Extension_Selenium测试用例”
我将按照以下步骤运行.php文件以使用selenium RC运行
启动SeleniumRC服务器
重新启动cmd并访问PHPUnit安装的路径意味着cd C:\wamp\bin\php\php5.2.6
运行PHPUnit--version命令,这将生成PHPUnit版本(这也表明PH
有没有比$this->assertTrue(false)更正式的方法来强制phpunit失败?我认为这应该在测试用例中起作用:
$this->fail('Message');
是的,有一种方法
$this->fail("your message");
如果您想查看页面,您已失败
print_r(getResponse()->getContent());
另一种方法(在编写测试工具时尤其有用)是:
use PHPUnit_Framework_ExpectationFaile
如果我使用mockry模拟接口,并使用shouldReceive和不存在的方法,我希望我的测试失败。环顾四周也无济于事
例如:
具有一个接口:
interface AInterface {
public function foo();
public function bar();
}
和一个测试用例:
function testWhatever{
Mockery::mock('AInterface')->shouldReceive('bar');
$thi
PHPUnit是否有检查值类型的断言
功能:
public function getTaxRate()
{
return 21;
}
我想测试返回的值是否是一个数字
对不起,我是PHPUnit测试的新手
我发现SimpleTest有一个断言a();PHPUnit也有类似的情况吗
在php这样的弱类型语言中,某些东西“是一个数字”的概念有点模糊。在php中,1+“1”是2。字符串“1”是数字吗
这可能会帮助您:
$actual = $subject->getTaxRate();
标签: Phpunit
laravel-5.4laravel-testing
我的集成测试在没有设置方法的情况下运行良好。即工厂工作,数据填充到表中
<?php
namespace tests\Integration\Model;
use App\Channel;
use App\Discussion;
use Tests\TestCase;
use Illuminate\Foundation\Testing\DatabaseTransactions;
class ChannelModelTest extends TestCase
{
/** @test
当我使用@dataProvider运行phpunit--testdox时,我得到如下输出:
MyTestClass
✔ My function data set ""
✔ My function data set ""
✔ My function data set ""
有没有一种方法可以让testdox显示每个数据集的友好描述?比如:
MyTestClass
✔ My function data set "one"
✔ My function data set "two"
✔ My func
这似乎是早期版本的PEAR中存在的一个问题,不幸的是,解决方案对我不起作用
我的设置:Win7,32位。PHP目录:c:\Program Files\PHP。
所有命令都从具有管理员权限的控制台运行
我已经安装了PEAR的最新版本(2012年2月17日)。使用go-pear.phar,它是1.9.1。
然后,我试图通过运行pear install pear.PHPUnit.de/PHPUnit来安装PHPUnit,但出现以下错误:
phpunit/PHPUnit requires PEA
我有一个由其他php文件调用的公共类a。
我想把当前类的名称输入到类A中
此处A类:
class A extends PHPUnit_Framework_TestCase
{
............................
public static function setUpBeforeClass()
{
try {
**Here the function to get the class** ??????
self::$selenium = new ObjetCo
注释允许表示测试之间的依赖关系:
类MyTest扩展\PHPUnit\u框架\u测试用例
{
公共函数testOne()
{
// ...
返回$client;
}
/**
*@testOne
*/
公共函数testTwo(客户端$Client)
{
// ...
}
}
如果要返回多个值,可以返回一个值数组,例如:
类MyTest扩展\PHPUnit\u框架\u测试用例
{
公共函数testOne()
{
// ...
返回数组($client,$node);
}
/**
*@testOne
当我尝试通过多次测试执行phpUnit时,有人输出失败:
No matching handler found [...] Either the method was unexpected or its arguments matched no expected argument list for this method.
但是,如果我单独执行测试,就可以无误地通过。如何在每次测试中强制使用不同的模拟对象
编辑:
如果我单独运行phpunit,工作正常并且所有测试都通过了,但是如果我使用包含两个
第一次在phpunit中,通过一些参考教程,我创建了以下代码。我不知道下面的代码到底要做什么
<?php
class MyGuestbookTest extends PHPUnit_Extensions_Database_TestCase
{
/**
* @return PHPUnit_Extensions_Database_DB_IDatabaseConnection
*/
protected function getConnection()
我开始测试Laravel7应用程序。我创建了一个简单的测试:
namespace Tests\Unit;
use Tests\TestCase;
class LoginTest extends TestCase
{
/** @test */
public function user_login() {
$response = $this->get('/');
$response->assertStatus(200);
}
我在测试中使用了一个模拟类,我正在寻找一种方法来同时确保一个方法被调用两次,每次调用都有不同的参数。我的代码类似于:
$mocked->expects($this->at(0))->method('mockedMethod')->with($this->equalsTo(123);
$mocked->expects($this->at(1))->method('mockedMethod')->with($this->equalsTo(4
在Zend Framework 2中为自己的模块执行PHPUnit测试时,我似乎有点问题
操作系统:Mac OS 10.8.3
Zend Framework 2.1.4
PHPUnit版本3.7.19(通过pear安装)
PHP版本5.3.15(启用xdebug,版本2.1.3)
我按照Zend指南的说明创建了模块“Album”()
我不想把单元测试放在模块文件夹中,而是想把它们都放在一个集中的文件夹中。这是我的应用程序的基本结构:
-配置
-数据
-模块
-公共的
-测试
--模块
---相册
在我的项目上运行phpstorm中的“Debug”时,由于某种原因,它开始出现这样一个奇怪的问题,phpstorm没有真正获取测试结果,即使phpunit没有抛出错误
Phpunit将在phpstorm控制台中生成一个如下所示的报告:
[37;41m[2KFAILURES!
[0m[37;41m[2KTests: 3, Assertions: 6, Failures: 1.
[0m[2KGenerating code coverage report in Clover XML format ..
我使用的是symfony 3和PhpUnit 5.6.4。我正在用计算机测试我的表格
我的代码是,但当我运行phpunit时,我得到:
测试套件
PHP致命错误:在第26行的/media/mpf/mmf/Tests/AnnBundle/Form/Type/AnnTypeTest.PHP中调用未定义的方法Tests\AnnBundle\Form\Type\AnnTypeTest::createMock()
PHP堆栈跟踪:
PHP1。{main}()/media/mpf/mmf/vendor/sy
当我试图使用PHPUnit工具对每个文件进行单元测试时,我得到了以下消息
PHP Warning: PHP Startup: Unable to load dynamic library
'/usr/lib/php5/20090626+lfs/pdo_mysql.so' - /usr/lib/php5/20090626+lfs/pdo_mysql.so:
undefined symbol: php_pdo_register_driver in Unknown on lin
我正在使用SimpleTestAPI和PHPUnit测试API。他们中是否有人支持自动bug日志记录支持。如果没有,我将如何提供此功能?例如,PHPUnit可以与中的问题交互
Trac()
GitHub()
还有其他几个:
建立一个适合你的建议肯定是可能的
还有其他方法可以让PHPUnit告诉你发生了什么
。在那里,你可以对PHPUnit所做的一切采取行动
。您可以相应地对其进行分析和操作
例如,PHPUnit可以与
Trac()
GitHub()
还有其他几个:
建立一个适合你的建议
我使用phar安装了PHPUnit,如下所述
当我执行phpunit--version时,它工作正常。但是,当我尝试执行测试时,它会给我以下错误:
PHP警告:require(PHPUnit/Autoload.PHP):无法打开流:否
这样的文件或目录在(废话,废话,废话)
phar安装在/usr/local/bin中(根据建议),我将此路径添加到cli的php.ini中的include_路径中
有什么想法吗?我退出并使用PEAR安装。这得到了我想要的结果,但并没有真正回答问题。您的includ
因此,我有一个简单的测试,它在linux下运行良好,但在windows下失败:
$output = <<<END
HTTP/1.1 404 Not Found
X-Foo: Bar
Where am I?
END;
$this->expectOutputString($output);
// Works under linux but fails under windows
echo $response;
// Works
我将selenium RC与PHPunit一起使用,我遇到了这个问题。我试图做assertEqual,但结果是:
Failed asserting that two strings are equal.
--- Expected
+++ Actual
@@ @@
abc
def
步骤行:
$this->assertEquals("abc\ndef", $this->getValue("text"));
“文本”是“abc\ndef”
在firefox中工作正常。问题只出现在I
我有一个测试,我必须比较当前的时间来确定另一个时间。除了使用模拟(即返回我指定的时间的另一种方法)之外,还有另一种方法可以将系统时间临时更改为另一个测试的指定时间。我想要一种让时间返回另一个值的简单方法。如果您安装了runkit扩展,您可以通过使用runkit函数重新定义函数来归档它
从PHP文档:为了覆盖内部函数,必须在PHP.ini中启用runkit.internal_override设置
然后可以指定一个代码字符串作为函数体
将时间函数包装到一个对象中,您可以将自己的逻辑注入其中。不幸的是
如果我通过数据提供程序通过setUp function连接数据库,它会响应致命错误:调用成员函数query(),但是如果连接到数据库本身工作,那么dataProvider能否获得setUp function的设置?这是通过设计实现的:为了确定测试的数量,PHPUnit在实际运行测试(和安装方法)之前运行数据提供程序
从:
注:
在调用setUpBeforeClass静态方法和第一次调用setUp方法之前,将执行所有数据提供程序。因此,您无法访问从数据提供程序中创建的任何变量。这是PHPUnit能
我对测试完全陌生。我正在尝试使用Laracasts/Integrated测试登录
/** @test */
public function it_should_login_user()
{
$credentials = [
'email' => 'jghenonig@gmail.com',
'password' => '12345'
];
$this->visit('/auth/login')
-&g
当我遇到错误时,我想获得更多的怀疑信息
现在我得到了这样的结果:
PHP Fatal error: Class 'MyFirm\PlatformBundle\Entity\Review\LandmarkReviewRepository' not found in /home/me/mf/myfirm2/vendor/doctrine/lib/Doctrine/ORM/EntityManager.php on line 577
Fatal error: Class 'MyFirm\Platfo
我在我的phpunittestcase中搜索将测试数据加载到MySQL的方法。我使用typo3 4.5,希望测试我的页面覆盖和测试用例中的一些函数。我不想一直手工创建所有模型,我想为每个测试加载一个测试数据库和一些sql文件。这是可能的吗?在对TYPO3扩展的测试中,我们在setUp()中使用测试数据运行$GLOBALS['TYPO3\u DB']->exec\u INSERTquery()调用tearDown()进行exec\u DELETEquery()调用
测试数据的名称类似于“unitt
我可能在这里遗漏了一些东西,但我有一个非常简单的帮助器类,它创建了一个目录:
// Helper class
<?php namespace MyApp\Helpers;
use User;
use File;
class FileSystemHelper
{
protected $userBin = 'users/uploads';
public function createUserUploadBin(User $
在MAC OS上,当我使用phpunit时,它会说:
PHPUnit 4.0.17 by Sebastian Bergmann.
You have installed PHPUnit via PEAR. This installation method is no longer
supported and http://pear.phpunit.de/ will be shut down no later than
December, 31 2014.
Please read http://
我正在寻找一种解决方案,在phpunit测试中发送给服务器的get/post请求中嵌入jwt令牌作为头。
是否有任何选项可将标题添加到GET/POST调用?我目前正在使用以下方法向服务器发送GET请求
content=$this->get('users/logout')->response->getContent()
您需要在标题前面加上HTTP.。例如:
$server = ['HTTP_X-Requested-With' => 'XMLHttpRequest'];
$this->
似乎在Laravel 5.4之前,我们可以通过如下编码更改测试的URL:
protected $baseUrl = 'http://someurl.com';
但现在它不起作用,一些人建议我们必须使用这种方法
function setUp()
{
parent::setUp();
config(['app.url' => 'http://yourcustomeaddress.loc']);
}
有人能帮我告诉我该把这个方法放在哪里吗 您可以将其放入测试/TestCase
我有一个简单的单元测试文件,如下所示:
class testService extends UnitTestCase {
function setUp() {
parent::setUp();
}
function testCall() {
$service = \Drupal::service('plugin.manager.rest');
}
...
}
供应商/bin/phpunit-c核心/模块/自定义/模块名称/
我使用Phing在一个名为runtest的文件夹上运行phpunit,该文件夹包含我的所有phpunit测试
My build.xml如下所示:
<project name="TiVO" default="build">
<target name="clean">
<delete dir="build"/>
</target>
<target name="prepare">
<mkdir dir="build/lo
我创建了一个基本的ZF2输入过滤器。在不将其附加到表单的情况下,如何使用PHPUnit测试它
我找不到任何关于如何做到这一点的样本。希望有人能帮忙。我通常有一个数据提供者来测试我的输入过滤器
下面是一个输入过滤器示例,其中包含两个非常简单的字段:
使用Zend\InputFilter\InputFilter;
使用Zend\InputFilter\Input;
使用Zend\I18n\Validator\Alnum;
类MyInputFilter扩展了InputFilter
{
公共函数构造()
我正试图让Travis CI输出一份报道报告,以便稍后与Scrumnizer一起使用。但是我很难让它工作
在phpunit命令中添加--coverage clover=coverage.clover时,生成覆盖率报告失败,出现以下错误:
以Clover XML格式生成代码覆盖率报告…PHP致命错误:第432行的/home/travis/.phpenv/versions/5.5.7/share/pyrus/.pear/PHP/PHP/Token.PHP中超过了30秒的最长执行时间
这让我困惑的
我正在PHPUnit中运行一个全新的测试套件,我希望看到每个测试的结果,旁边有测试名称。这将使修复损坏的测试和TDD更容易
PHPunit会在事后输出中断的消息,但经过一段时间的错误和跟踪后,你的眼睛会变得不稳
当前的..F………..类型输出在测试套件启动并稳定后非常好,但在创建套件时
我已经尝试了--verbose参数,但没有任何帮助。使用phpunit--testdox
在cli上,这将为您提供非常可读的格式,并允许您轻松查看和修复多个测试套件,例如:
PHPUnit 3.7.37塞巴斯蒂安
所有这些都失败了。如何测试元标记?我需要检查meta关键字和描述中的特定值。我来这里是因为我的页面中的表单元素存在相同的问题:没有任何内容被$crawler过滤
问题是app.php中的返回,当我最终正确地对它进行了图像处理时,所有的测试都正常工作。
我将在这里复制我的工作代码(假设my view.php是一个包含基本html代码的php文件)
在何处设置此值?在响应主体或标题?响应主体中$客户端->请求('GET','/');给我整个html文档,包括head block。检查html是
我已使用以下命令成功设置symfony 3.2.4项目:
symfony new symfony_test
cd symfony_test
composer require --dev phpunit/phpunit ^6.0
composer update
然后,在尝试运行默认测试时出现以下错误:
$ vendor/bin/phpunit tests/AppBundle/Controller/DefaultControllerTest.php
Fatal error: Class 'PHP
PHPUnit将所有断言定义为静态函数,但您应该使用对象context1调用它们。
除了这是否是一个好的实践之外,如果您想遵循此实践,您将在PhpStorm中收到警告:
称为动态的静态方法
我喜欢这种检查,不想对所有文件都关闭它。我确实想在phpunit测试中关闭它,但是在我的所有测试中添加noinspection注释既烦人又重复
我怎么能在测试中忽略这一点,而在我的普通代码中进行检查呢?
我正在使用PhpStorm 2016.3
1:请看塞巴斯蒂安的评论
PHPUnit的普通用户应该使用$t
我在运行单元测试时找不到此异常的原因:
RuntimeException : The requested database connection named "Default" has not been configured?
当我用setUp()方法实例化类并编写如下单元测试时:
class myTestClass extends UnitTestCase
{
protected $subject;
protected function setUp(): void
当你想做什么的时候
pear install phpunit/PHPUnit
我得到以下错误
Failed to download pear/HTTP_Request2 within preferred state "stable", latest release is version 2.0.0RC1, stability "beta", use "channel://pear.php.net/HTTP_Request2-2.0.0RC1" to install
phpunit/PH
我正在努力熟悉Kohana内部的PHPUnit测试。目前,我的代码中的Request::current()->重定向调用似乎有问题
例如,我正在尝试测试登录功能。一旦用户成功登录,我们使用上面的请求重定向行将其重定向到其主页。问题是,当那条线在那里时,测试似乎在那里停止,永远不会返回结果
以下是目前我的测试是如何编写的:
class SampleTest extends Kohana_UnitTest_TestCase
{
protected $session;
public function
我有一些github项目,我想用代码覆盖率测试它们。我发现(请参阅)实现这一点的唯一方法是编写一个自定义脚本,对代码覆盖率XML行进行计数,并输出代码覆盖率为74.32%,低于公认的80%。在HTML中显示代码覆盖率要好得多,但在travis ci中可能吗?Travic ci不支持任何持久性存储。一个建议是创建一个自定义脚本并运行phpunit--coverage html,然后使用rsync之类的工具将输出目录的内容发送到您自己的服务器。您可以与Travis一起使用,以很好地显示覆盖范围。可在
我正在编写一个简单的库,可以在我的一些项目中重用。目前,它只是将一些“愚蠢”的角色换成他们聪明的对等角色。无论如何,我安装了一个新的laravel 4实例,然后运行了php artisan workbench jonnybarnes/dumbquotes。然后我在DumbquotesParser.php中编写了一些代码。当前位于LARAVEL/workbench/jonnybarnes/dumbquotes/src/jonnybarnes/dumbquotes/dumbquotes/Dumbqu
答案可能很简单,因为我找不到任何基本的谷歌搜索
使用PhpStorm 7.0和PHPUnit对函数、单元和集成的每个子类别进行测试,我定义了一个可选配置文件、自定义工作目录和环境变量
例如,当我在定义的目录中创建一个新的测试类时,我在wamp/integration/Classes/中添加了一个类,其中我的集成目录定义为/wamp/tests/integration,如何使新类自动采用集成测试的父配置中的环境变量和可选配置文件
用例:在编写这些测试时,我将单独运行该测试类,而不是所有的集成测试,
如何对PHP函数/脚本的HTML输出进行单元测试,特别是检查输出是否为HTML5有效
目前,可以使用在线复制/粘贴验证器测试PHPUnit和演示文稿中的功能。但如果能将其集成到PHPUnit测试中,那就更好了
是否有一种标准的方法来处理这些事情,或者主要是对创建插入内容的函数使用常规的单元测试,然后确保它在浏览器/W3C验证程序中看起来正确
对于不再适用的旧版本PHPUnit,类似问题如下:
您需要的是行为测试。请看Twine项目()取代了复制/粘贴手动过程。它可能有用;它仍然每次将HTML发送
我有这门课要考
class IpSecurity
{
/** @var array */
private $ipsAllow;
public function __construct(array $ipsAllow)
{
$this->ipsAllow = $ipsAllow;
}
/**
* @param string $clientIp
*
* @return NotFoundHttpException
*/
public function checkIp($cl
安装SimplePhUnit插件后,我收到了以下消息:phpunit.xml或phpunit.xml.dist未找到。我看到了这个。我还克隆了开发版本,但我仍然得到了这个信息。有人能帮我吗
这是我的xml文件的内容:
<phpunit>
<testsuites>
<testsuite>
<directory prefix="tests-" suffix=".php">./phpunit_test/</directory
我正在使用phpunit进行测试,我想在开发人员键入的所有失败消息中添加字符串“****”,以便在失败中更容易识别消息。现在有关于消息的测试失败和断言失败的信息,所以您必须更加努力地查找消息-我想让我们的消息更容易发现
我可以让开发人员在每条消息中添加字符串,但这不是很枯燥。有没有一种方法可以普遍地重新格式化失败消息?我认为您需要修改PHPUnit\u TextUI\u resultprint类
看看printdeffect…方法。您应该能够在输出中添加前缀。谢谢您的指导。但是我不想修改基类,
如何使用php unittest检查json对象是否有两个值之一
{“选项”:valule}。。。值可以是0或1
我想要一些类似的
$optionValue = {"option":0};
$data = json-decode($optionValue);
this->containOnly(0,1, $data)
$this->assertThat ($data["option"],
$this->logicalOr ($
上一页 1 2 3 4 5 6 ...
下一页 最后一页 共 16 页