我想通过以下测试:“此测试未执行任何断言”
我知道我可以添加类似于assertTrue(true)的内容,但是是否可以向配置中添加一些内容以使这些测试通过得更干净
我敢肯定,只有在phpunit3.5.0版本引入
--strict编辑:您有一些选择,这取决于您使用的版本,是要忽略所有风险测试还是仅忽略一些测试,以及您希望它是永久性的还是临时性的
在5.6之前,如果您不想在所有测试中添加虚假断言,那么必须避免将--strict传递到PHPUnit,或者将strict=“false”添加到PHPUn
在我的应用程序中,在源代码旁边有phpunit测试。因此,在接下来的所有映射中,比如DoSometing.class.php,我有一个DoSomethingTest.class.php
我想配置phpunit.xml来测试所有这些*test.class.php文件
如何在phpunit.xml中实现这一点
我现在有这样的想法:
<?xml version="1.0" encoding="UTF-8"?>
<phpunit
backupGlobals="false"
我在尝试使用ZF2的身份验证服务时遇到了一些问题。我必须使用以下Module.php getServiceConfig函数:
<?php
public function getServiceConfig()
{
return array(
'factories' => array(
'Auth\Model\CustomerTable' => function($sm) {
$tableGatew
有时我看到一些人在写作
->expects($this->any())
在我看来,这完全是多余的。对我来说,这意味着“我不在乎这个期望”,我错了吗?我认为链式呼叫可能是一个很好的例子(以电话为例)
如果你想用传统的方式模拟它,你最终会为每个调用创建单独的模拟!只需模拟一行代码,它就可以轻松地增长到代码屏幕的一半!但是等等,有办法
$value = 'some mocked value';
$mock = $this->getMock('ServiceClass',
标签: Phpunit
cruisecontrolphpundercontrol
在我的Windows 7机器上运行phpUnderControl时遇到问题,我一直在网上搜索答案,但许多问题的文档都非常糟糕
(a.)巡航控制作为Windows服务安装并启动和运行
-->位置:C:\ProgramFiles(x86)\CruiseControl
(b.)phpUnderControl通过Pear安装
-->Pear位置是C:\wamp\bin\php\Pear
(c.)为phpUnderControl配置CruiseControl
phpuc安装“C:\Program File
我正在使用PHPUnit自动测试我的应用程序,到目前为止它运行良好。但现在我有一个问题:
我有一些测试,比如说50次。在所有这些测试中,我都想使用mockery,因为我每次都需要相同的对象,所以我尝试将mock对象的创建重构为一个私有函数,并在每个测试中调用它。但是我不能让它工作。
我的私有构建函数如下所示:
private function createMyMocks() {
$person = $this->getMockBuilder(Person::class)->get
您能告诉我如何使用php在selenium RC中运行测试用例吗?摘自
创建一个从PHPUnit_Extensions_SeleniumTestCase扩展而来的类,该类将包含PHPUnit_Framework_TestCase中的方法和selenium特定的方法:
<?php
require_once 'PHPUnit/Extensions/SeleniumTestCase.php';
class WebTest extends PHPUnit_Extensions_SeleniumT
PHPUnit包含一个方法,但它也有一个方法。乍一看,他们似乎做了同样的事情
这两者的区别是什么?为什么两者都指定了?我偶尔都会使用,但根据文档:
如果两个变量$expected和$actual的类型和值不相同,则报告由$message识别的错误
正如您在上面摘录的下面的示例中所看到的,它们正在传递'2204'和2204,使用assertSame将失败,因为一个是字符串,一个是整数,基本上:
'2204' !== 2204
assertSame('2204', 2204) // this tes
运行PHPUnit测试时是否可以测试日志警告?基本上,我有一个在日志文件中记录警告的函数,我想知道是否有办法在PHPUnit中测试它
请注意,这不是一个PHP警告,我只想测试这个特定的警告。我为编写单元测试的函数返回的结果不包含允许我测试是否记录了警告的信息
如果可能的话,如果有人能为我指明正确的方向,我将不胜感激
提前感谢!:) 从你的问题来看,我不是100%确定你在追求什么,但听起来你可能在寻找一种模仿文件系统的方法
PHPUnit可以与合作来完成这一任务。PHPUnit手册对此给出了一些说
我跑
我得到一个错误:
无法将您的需求解析为可安装的软件包集
rm -rf vendor && composer update codeception/codeception -v
当前在require dev中有以下设置:
Problem 1
- The requested package phpunit/phpunit (locked at 4.1.6, required as 4.8.x-dev) is satisfiable by phpunit/phpun
我刚刚通过升级到最新版本(6.2.1)解决了一些PHPUnit问题,但是现在我可以运行我的测试了
但是,我有一个无法解决的新错误:
1) BackBundle\Tests\Service\LdapServiceTest::testgetLdapConnect
错误:找不到类“BackBundle\Service\LdapService”
这是我的班级考试:
<?php
namespace BackBundle\Tests\Service;
use PHPUnit\Framework\T
我的“测试项目”只包含Application.php和ApplicationTest.php,但phpunit也收集有关composer autoloader文件的覆盖率信息,这是错误的。如何从覆盖率报告中排除自动加载器文件?配置白名单,不要将自动加载器添加到白名单中。创建代码覆盖率配置时,几乎总是在phpunit.xml文件中设置“白名单”以仅覆盖主源文件-这也加快了测试运行,因为它不必同时运行供应商/目录中所有库文件的代码覆盖率(因为这可能需要很长时间)
/src
./src/*/*捆绑包
我试图让phpunit在phpstorm中工作,我得到了以下错误
Fatal error: Class 'PHPUnit_Framework_TestCase' not found
我使用的是php的7.1.12版和phpunit的7.1.5版
我一直在寻找解决办法,但找不到任何能帮助我的方法
有没有办法解决这个问题
测试配置。PHPStorm需要能够定位并运行PHPUnit。如果您的项目使用composer,您可以将其配置为从那里加载。如果没有,PHPStorm可以为您下载它 PHPUni
嗨,我正在尝试为表单添加symfony单元测试。这是我的密码
$crawler = $this->client->request('GET', '/admin/user/new');
$form = $crawler->selectButton('Save')->form(array(
'user[displayName]' => 'user',
'user[username]' => 'use
我想发送一个带有json POST的cookie:
public function testAccessCookie()
{
$response = $this->json('POST', route('publications'))->withCookie(Cookie::create('test'));
//some asserts
}
发布路由有一些中间件:
public function handle($request, Closure $next)
{
我正在尝试使用dataProvider编写一个单元测试来测试控制器方法
但是,$this->contents始终返回null。dataProvider在CakePHP的控制器测试用例中工作吗
public function initValidateDataProvider() {
$data['Event']['event_type'] = 1;
$data['Event']['event_id'] = 1;
$data['Event']['year'
我正在尝试在PHPStorm中创建一个新的PHPUnit测试类。在过去,当我这样做时,当我用要测试的类填充完全限定名字段时,测试类名字段将自动更新为
“类名”+测试
但是现在,由于某种原因,IDE没有在类名前加前缀。有需要打开的设置吗?我正在关注,上面说默认行为在PHPStorm 2017.3.1中似乎有问题,因为一旦我更新到2017.3.6,我就不再有问题了。如果在键入类名时调用自动完成,PHPStorm是否建议您要测试的类?我能看到它不会自动生成测试类名称的唯一原因是它没有以某种方式找到该类
我正在使用phpunit在Laravel8中创建单元测试,我有一个控制器,它使用外部API为使用Guzzle HTTP客户端的函数获取数据
我将调用guzzle的方法放在Controller.php中,这样就可以通过扩展这个类在任何其他控制器中访问它
class Controller extends BaseController
{
protected function getAPI($url, $params = [])
{
$test_api = new Cl
我需要在运行测试之前清理数据库,否则我会收到关于重复信息的奇怪错误
在postest.php文件中,我创建了一个安装方法
public function setUp()
{
Artisan::call('migrate:refresh');
}
phpunit测试则表示:
PHP Fatal error: Class 'Artisan' not found in C:\wamp\www\squigglemd\app\tests\PostTest.php on line 11
我也试
标签: Phpunit
code-coveragecodeception
我今天使用测试覆盖率运行Codeception,但如果我有以下代码段,我会感到奇怪:
return $created;
}
带有}的行标记为死代码,因此不计入代码覆盖率的百分比
问题-它应该这样工作吗?我该怎么做才能使它在代码覆盖率中占到百分比,而不是标记为死代码
现在我可以有两个代码覆盖率为94%的文件,但其中一个可能是100%的代码覆盖率,因为这些行只有}
编辑
我刚刚检查了它,并查看了以下代码:
public function paginate(
$perPage = 50,
这是我的phpunit.xml:
<phpunit bootstrap="test/bootstrap.php"
colors="true">
<testsuites>
<testsuite name="MageScan Unit Tests">
<directory>test</directory>
</testsuite>
<
我正在使用phpunit8中的@testdox注释来设置测试的描述
这很好,但我希望能够动态设置描述。这样的方法很好:
$this->setTestDoxDescription("My super test routine for date: ".$mydate->format('Y-m-d');
我有一些测试,检查各种与日期相关的函数的结果。许多测试都与今天的日期相关,因此输入日期值不是固定的,而是动态生成的。我希望能够打印描述中的日期值
我刚刚在TestCase中发现了setN
如何编写自定义断言,如assertFoo($expected,$actual),其行为类似于错误“堆栈跟踪”的内置断言
我目前定义了以下方法(在扩展了PHPUnit\u Framework\u TestCase的类中):
如果我从一个测试调用它,但测试失败,我会在调用堆栈中得到两项:
1) PreferencesTest::testSignupTeacher
Failed asserting that 5 matches expected 3.
/vagrant/myproject/tests
我使用phpunit和selenium2(Selenium2TestCase)的扩展来检查我网站的界面。
因此,我的测试页面包含以下内容:
testDisplay()
{
...
file_put_contents('/home/toto/www/screenshots/before.html', $this->source());
sleep(5);
file_put_contents(/home/toto/www/screenshots/after.html', $this->s
为了测试API调用,我想测试实体生命周期
无内容获取
发布内容,返回ID
修补内容
知足
删除内容
我将使用post方法中返回的ID。我尝试在测试类中使用私有属性,但在每个方法测试中,该属性都会重置。如何在测试类中使用动态变量进行测试
我的代码和PHPUnit的响应示例:
class CommentControllerTest extends PHPUnit_Framework_TestCase
{
private $commentId;
public function s
在PHP中,我有一个这样的函数,它使用$this关键字调用同一类中的另一个函数searchDateOperator()。如何为此编写单元测试
public static function segmetDateRangeFilter($searchField, $startDate, $endDate, $dateRange)
{
$filter = [];
if ($startDate && !$endDate) {
$filter = [
我知道如何使用PHPUnit库测试php输出,使用expectOutputString()或expectOutputString()。现在我需要确保输出不包含给定的字符串。我可以使用输出缓冲和搜索内部字符串来实现这一点,但更好的方法可能是使用带有适当表达式的expectOutputString()
该如何构建此表达式?您想要使用正则表达式,而要进行负匹配,必须使用先行断言语法。例如,要测试输出是否不包含“hello”:
给出此输出:
$ phpunit testOutputRegex.php
在phpspec中,我可以测试如下内容:
function it_must_be_constructed_with_my_variable()
{
$this->shouldThrow(new \Exception('bla'))->during('__construct', array('variable' => 'value'));
}
但是,如果我想确保在没有向函数传递某些内容时引发异常,该怎么办
例如,我想说,如果传递的数组不等于某个值,将引发异常。我相信您可
我的一个phpunit测试使用的数据集(由数据提供者提供)需要相当长的时间才能生成。当我从执行中排除此测试时,它的dataprovider方法仍在执行
如何跳过数据提供程序的执行?如果使用$this->markTestSkipped()从测试内部跳过慢速测试,则无法阻止执行数据提供程序
这是因为PHPUnit必须在执行测试之前获取将传递给测试的数据
可能的解决办法:
从命令行(-d key[=value]选项)设置一个环境变量,该变量将由数据提供程序和慢速测试读取。dataProvider将返回
今天,我访问了phpunit3.4手册(日文版)。
我参考了下面的链接以了解URL。
直到昨天,我才找到这本手册,但今天再也找不到了
我能找到这本手册吗?你知道PHPUnit 3.4已经死了很多年了吗?目前唯一受支持的PHPUnit版本是PHPUnit 7.5和PHPUnit 8。是的,我知道。但是我们的项目太旧了,我们正在编写测试代码来迁移新版本。很抱歉响应太晚。谢谢你问我的问题。我确认这个问题已经解决了!
我的交易有问题。我必须在setup()打开一个,到目前为止,我可以这样做,然后使用TearDown()回滚它。问题是我无法从teardown()访问我的连接($dbh)
请尝试使用文档一节中介绍的setUpBeforeClass()和tearDownAfterClass()模板方法
class PanneauTest extends TestCase
{
private $http;
private $token;
private $dbh;
protecte
我已经通过Composer安装了PHPUnit,并通过设置将其设置为使用我的安装运行单元测试
但是,当我运行测试时,测试报告器会出现以下错误(tets执行得很好):
无法将测试报告程序附加到测试框架,或者测试框架意外退出
通过Composer使用PHPUnit时,应指向设置| php | PHPUnit中的供应商/autoload.php
此博客文章提供了成功配置此类场景IDE的所有详细信息(带图片):
相关可用性票证:
p.S.
WI-18388票据在v8.0中已经修复,这意味着:PHP无法找
我正在PhpStorm中运行测试,我得到了这个错误。有人知道到底是什么引起的吗
PHP致命错误:在中找不到类“PHPUnit\u TextUI\u resultprint”
第249行的C:\Users\administrator1\AppData\Local\Temp\ide-phpunit.php
我在其他项目中运行测试,这些项目也使用了idephpunit.php,它们运行得很好。我犯了一个愚蠢的错误。。。只是忘了在项目中添加phpunit作为依赖项。对于收到此错误的任何其他人,请向com
标签: Phpunit
laravel-5.4virtualfilesystem
我的PHPUnit集成测试有点问题,我有一个方法可以处理视频文件的表单上传以及视频的预览图像
public function store($request)
{
/** @var Video $resource */
$resource = new $this->model;
// Create a new Content before creating the related Photo
$contentRepo = new ContentReposit
我试着按照这里的指示去做。在这里的环境部分我做了什么
php artisan env --env=testing
然后跑
phpunit
但是在那之后,这个消息出现了
PHP Fatal error: Uncaught Error: Call to undefined method PHPUnit\Util\Configuration::getExtensionConfiguration() in /mnt/c/projects/www/janicalizdotcom/vendor/php
大家好,
我对phpunit覆盖html组件有一些问题。
我已正确安装组件并启动命令:
vendor/bin/phpunit——覆盖率html测试
测试工作正常,但未生成html报告。附上最终结果。
经典的“以HTML格式生成代码覆盖率报告…完成”没有出现
你能帮我吗?
谢谢错误消息显示“无代码覆盖率驱动程序可用”。您的PHP环境缺少Xdebug或PCOV。错误消息显示“没有可用的代码覆盖率驱动程序”。您的PHP环境缺少Xdebug或PCOV
我试图测试一个使用第三方库的组件,该库使用getopt检索命令行参数
有什么办法可以让它在PHPunit内工作吗
我已尝试在组件调用之前插入:
$args = explode( ' ', 'scriptName -q staging_to_xxx -w 250 -c 500' );
$_SERVER['argv'] = $args;
但是这不起作用。您可以使用php.ini设置,register\u argc\u argv=false来设置argv和argc全局变量。看来getopt使用了全局
我最近在Mac(10.8.3)(运行PHP5.4.7)上安装了PHPUnit。例如,当我尝试运行一个测试phpunit testfile.php时,我收到:
Warning: require_once(File/Iterator/Autoload.php): failed to open stream: No such file or
directory in /Users/myusername/pear/share/pear/PHPUnit/Autoload.php on line 64
F
在PHPUnit(3.7.22)中测试DateTime对象时,我的断言如下:
$this->assertEquals(date_create('2014-01-01'), $myobject->getDate());
直到您得到一个异常,并且中的异常不够清晰(例如,对于原语,is清楚地表明,例如,1不等于被异常的2)
我可以用一个包含对象值的字符串将$message参数传递给assertEquals方法,但我觉得这样做会更简单
有什么想法吗?你可以这样做
$expected_dat
我在20小时前开始使用phpunit。昨天我写了一些测试,现在看起来它们被缓存了。例如,这是我的3个测试:
public function test(){
$this->url("index.php");
$username = $this->byName('username');
$password = $this->byName('password');
$this->assertEquals("",
我尝试在ddev中运行TYPO3扩展的功能测试。我遇到了一个问题,TYPO3试图为测试创建新数据库,但是名为db的默认ddev db用户不允许创建新数据库
如何解决这个问题?ddev数据库容器还提供了一个根用户,您可以使用它来解决这个问题。
只需使用root作为用户名,也可以使用root作为测试密码。最近的“TYPO3解释”核心文档增加了一章关于测试。它提供了一些关于如何进行扩展和项目测试的见解:
对于扩展,启动自己的容器化测试系统进行功能测试,对于项目,记录了使用ddev执行验收测试的示例。后
我有一个Laravel项目,有三个测试目录-浏览器、功能和单元
在运行/调试配置中,我已将功能和单元目录配置为使用phpunit.xml,而浏览器目录使用phpunit.e2e.xml。我还为所有使用phpunit.xml的测试创建了一个默认配置
如果我打开Feature/Unit目录中的类并运行单个测试方法或整个类,它会选择默认配置,但当我在Browser目录中运行单个测试方法时,它会使用phpunit.xml而不是phpunit.e2e.xml
如果我选择一个目录并运行测试,它会选择正确的配
抱歉,如果这是一个基本问题,那么术语“属性”在PHPUnit测试上下文中指的是什么?我知道什么是属性和方法,我知道public/private/protected做什么。我知道静态变量和实例变量之间的区别。但我在PHPUnit命令集中看到了所有这些面向“属性”的断言,但我所拥有的文档似乎都没有退一步来描述“属性”实际上指的是什么。财产?方法?以上所有内容
西南
更多内容请阅读:属性
assertAttribute metods用于测试类或对象的公共和属性
class Foo {
priv
我从Github下载了当前版本的PHPUnit,并进行了一个小的定制。我现在想为它创建我自己的phar归档。我知道有,但在读了一点phar之后,我仍然不清楚PHPUnit的命令是什么。任何建议都将不胜感激 克隆回购协议。我想你已经有了这个,但要完整
$git克隆https://github.com/sebastianbergmann/phpunit
换成它
$cd phpunit
build.xml文件表示(主要)用作生成管理系统的文件。要确定项目(-p)提供的目标,只需询问ant本身:
$an
PHPUnit文档提到@before注释,它允许您指定在每个测试用例之前运行的方法。有没有办法指定@before,以便它只在特定组中的测试用例之前运行
因此,如果我有一个测试套件,其中所有测试都在@groupa或@groupb中,我可以使用@before来指定@before,专门用于@groupa测试吗?我会将您的测试分离到逻辑文件夹中,然后执行测试计划。每个测试文件都可以有一个设置和拆卸,这将在测试之前和之后工作。从长远来看,使用更小的原子单元进行测试会更好,并尽量减少对外部设置、需求的依赖。
我正在用Symfony 4.1编写我的第一个测试,我遇到了一个奇怪的问题。测试旨在确保端点返回状态200:
public function testFetchTaskEndpointStatusCode200()
{
$client = static::createClient();
$client->request("GET", "/tasks");
$this->assertEquals(200, $client->getResponse()-&g
我正在写测试用例,这里有一个问题
假设我正在测试一个简单的函数someClass::loadValue($value)
正常的测试用例很简单,但是假设传入null或-1时,函数调用会生成一个PHP警告,这被认为是一个bug
问题是,如何编写PHPUnit测试用例,使其在函数正常处理null/-1时成功,而在抛出PHP警告时失败?当输入无效时,让SomeClass抛出错误,并告诉PHPUnit预期会出现错误
一种方法是:
class ExceptionTest extends PHPUnit_Fr
PhpUnit有一个基于现有类的skel生成器
但它只起过一次作用
如果后来添加了一些新方法(因为dev不能与tdd一起工作),那么测试文件是不完整的
有没有工具可以为未覆盖的方法生成skel?我不知道,我也不认为有必要。骨架生成器为它找到的每个函数生成一个测试方法,但是您不能在一个测试函数中测试稍微高级的函数的所有用例
此外,还会生成测试函数的名称,但是可以而且应该创建更好的名称来描述预期的测试用例或测试函数的行为。比如“testGetQuoteFromStockMarket”和“testGe
我在呼叫期间运行测试时遇到问题:
php vendor/phpunit/phpunit/phpunit -c dev/tests/api-functional/phpunit.xml dev/tests/api-functional/testsuite/Magento/Catalog/Api/AttributeSetManagementTest.php
返回一个错误:
无法读取“dev/tests/api functional/phpunit.xml”
有人可能有类似的问题或知道如何解决它?摘
您好,我是PHPUnit新手,尝试执行测试示例:EmailTest by Composer,链接为:
我在命令行中得到了文本
$ phpunit --bootstrap vendor/autoload.php tests/EmailTest
PHPUnit 3.7.21 by Sebastian Bergmann.
Cannot open file "vendor/autoload.php".
看来您的PHPUnit安装不一样
例如,您可能使用Composer安装PHPUnit,并将Comp
上一页 1 2 ...
6 7 8 9 10 11 12 ...
下一页 最后一页 共 16 页