草庐IT

PHPUnit_Invoker

全部标签

Phpunit:如何断言文件是图像?

这个问题在这里已经有了答案:Phpunitimagedownloadtest(1个回答)关闭5年前。有没有办法使用phpunit检查特定文件是否为图像?

php - 它们是 PHPUnit 中的个性化进度指示器吗?

在编写PHPUnit测试时,结果发现其中一些测试需要很长时间才能执行。为了检查某些功能,我需要检查很多不同的变量组合,这导致测试时间很长。是否可以告诉PHPUnit测试进行了多远,以便它可以将测试的中间进度输出到命令行?现在它只是在那里等待2分钟,没有任何进度指示。我只是在寻找一个额外的进度指示器,它将成为PHPUnit的一部分,而不仅仅是一个自定义的echo,我可以自己编写它。 最佳答案 对不起,这是不可能的。但是,如果您需要用不同的数据调用同一段代码,例如用不同的参数调用相同的方法,那么您应该看看数据提供程序。

php - 在 PHPUnit 中的内存 SQLITE 数据库中模拟数据

我目前正在学习如何在PHPUnit框架中测试数据库,遇到了我不想在测试中连接到真实数据库的问题。这是因为当我在另一台计算机上运行测试时,这台计算机可能没有相同的数据库。我实现了\PHPUnit\DbUnit\TestCaseTrait特性并设置了以下方法:/***Returnsthetestdatabaseconnection.**@return\PHPUnit\DbUnit\Database\Connection*/protectedfunctiongetConnection(){$pdo=newPDO('sqlite::memory:');return$this->createDe

PHPUnit异常测试,错误信息打乱结果输出

我似乎无法正确地执行此操作,异常的错误消息只是打印出来,使命令行窗口更难阅读。下面是我的代码的结构和测试代码。publicfunctionavailableFruits($fruit){switch($fruit){case'foo'://allgoodbreak;case'bar'://allgoodbreak;default:thrownewException($fruit.'notavailable!');break;}}publicfunctionchooseFruit($fruit){try{availableFruits($fruit);}catch(Exception$e

PHPUnit:模拟函数

是否可以为函数创建模拟?UPD1:$class->callback('callback_function');我已经尝试测试callback_function是否被调用了一次。 最佳答案 不能模拟native函数。你需要类似runkit的东西或patchwork这样做。不过,您可以利用StrategyPattern并将native函数调用包装到单独的命令对象或闭包/Lambda中,然后使用它们。这些可以自由传递和交换。示例1-使用Lambda函数:$callback=function(){//anativefunctioninher

php - 如何使用 phpunit 测试用例测试 ajax 调用?

如何使用phpunit测试用例测试ajax调用? 最佳答案 根据您的ajax响应是如何生成的,这可能很容易也可能更困难。如果您使用Controller生成响应,您可以简单地调用单元测试中的适当函数并检查返回的HTML/XML。例如,如果响应是通过调用Controller对象上的函数生成的,如下所示:$htmlResponse=$controller->buildPage($_REQUEST);然后您可以像这样对响应进行单元测试:$expected="whateverhtmlyouexpect";$test_request=array

php - phpunit命令如何进行搜索类测试?

我用的是windows。例如,我有一些网站的结构如下:site/engine/ModelClass.phpwww/index.phptests/ModelCalssTest.phpphpunit.bat运行测试ModelClassTest.php的phpunit.bat应该存储在哪里? 最佳答案 您根本不需要存储phpunit.bat。它应该在您的PATH中。只需通过PEAR安装即可。如果您不想这样做并且您在系统本地拥有它,或者您想要版本控制中的phpunit源代码(有些人想要那样),那么您的phpunit.bat在哪里并不重要。项

phpunit 和 yii - (PHPUnit/Autoload.php) : failed to open stream:

用Yii安装phpunit时遇到很多问题。我跑:$phpunitunit/dbTest.php但结果是这个错误:PHPWarning:require_once(PHPUnit/Autoload.php):failedtoopenstream:Nosuchfileordirectoryin/opt/yii-1.1.10.r3566/framework/test/CTestCase.phponline12(include_path='.:/usr/bin:/usr/share/php:/usr/bin/pear:/usr/share/php/Zend/:/opt/php5.3.10/lib

php - 无法让 PHPUnit 依赖项工作

我正在开发一个API,但在编写一些测试用例时遇到了问题。我已经编写了一组通用测试用例来测试所有实体。这些包括一般操作,例如创建、修改和删除。/***@dataProviderprovideCreateData*@dependsLoginTest::testLogin*/publicfunctiontestCreate/***@dataProviderprovideModifyData*@dependstestCreate*/functiontestModify数据提供者提供API实体列表及其各自的属性,测试会动态测试所有实体,而无需我们在未来发生变化时维护测试。上面的代码目前工作正常,

php - 使用 PHPUnit 和半持久数据库进行单元测试

我是单元测试的新手,我正尝试在我正在处理的现有项目中开始使用PHPUnit。我面临的问题是我有很多单元测试需要足够公平的数据库。我已经为单元测试的唯一目的设置了一个SQLite数据库。有时我想为新测试删除并重新创建数据库(我指的是每个单独的类),以防止不必要的数据冲突。但是,如果我在同一个类中有相互依赖的单元测试,有时我不希望这种情况发生;这些可能需要访问在先前测试中保存的数据。我目前正在每个类的setUp()函数中获取一个"new"数据库。我没有预料到的是这个函数(与__construct()一样)会在所述类中的每个测试用例之后运行。有没有一种方法可以让每个测试类都刷新数据库?还是我