草庐IT

PHPUnit_Framework_ExpectationFail

全部标签

php - 如何使用 phpunit 为某些测试套件注入(inject)环境变量?

在phpunit.xml中可以定义环境变量:现在,我想要多个测试套件,而不是一个。我喜欢为每个FOO设置不同的值,所以我想我可以这样做:unitFunctionalunitFunctionalItdoesn'tseempossibletonestphpinsidetestsuiteblock.所以我目前无法为某个测试套件注入(inject)特定变量。我看到的唯一另一个明确的选择是为每种情况定义多个phpunit.xml文件,但这会导致大量代码重复,我想避免。还有其他方法可以将环境变量注入(inject)phpunit测试套件吗? 最佳答案

PHPUnit 测试套件命名约定

PHPUnitmanual突出显示一些约定:类MyClass的测试进入类MyClassTest类MyClassTest存在于文件MyClassTest.phpMyClassTest继承自PHPUnit_Framework_TestCase测试是名为test*的公共(public)方法这将导致类似这样的文件夹结构:├──src/│├──classes/││├──MyClass.php#Different│└──...├──tests/│├──testcases/││├──MyClassTest.php#Different│├──bootstrap.php│└──...└──......和

phpunit 从不抛出 "Argument #3 (No Value) of PHPUnit_TextUI_ResultPrinter::__construct() must be a value from "", "auto"或 "always""

我只是在测试Php单元。这是我的DependencyFailureTest类:require_once'../vendor/autoload.php';usePHPUnit\Framework\TestCase;classDependencyFailureTestextends\PHPUnit\Framework\TestCase{publicfunctiontestOne(){$this->assertTrue(false);}/***@dependstestOne*/publicfunctiontestTwo(){}}但是在运行命令phpunit--verboseDependenc

php - 如何在 PHPUnit 测试用例中使用服务器变量?

我正在使用PHPUnit测试用例测试模块。所有的东西都工作正常,但是当我使用$_SERVER['REMOTE_ADDR']时,它会出现fatalerror并停止执行。CategoryControllerTest.phpboot();$this->container=static::$kernel->getContainer();$this->em=static::$kernel->getContainer()->get('doctrine')->getManager();}publicfunctiontestCategory(){$ip_address=$_SERVER['REMOTE

php - 在 PHPUnit 数据提供程序中设置和使用参数

我正在尝试为使用全局参数(来自YML文件)的服务编写测试。我在setUp()方法中检索这些参数,但是当我尝试在@dataProvider中使用它们时,它会抛出错误。classInterpreterServiceTestextendsKernelTestCase{private$container;private$service;private$citiesMap;publicfunctionsetUp(){self::bootKernel();$this->container=self::$kernel->getContainer();$this->service=$this->con

PHPUnit 测试一个带有 expects() 方法的类

问题是我正在模拟的依赖项有一个expects()方法。这个类依赖于我正在测试的类。设置()方法$this->test=$this->getMockBuilder(Request::class)->disableOriginalConstructor()->getMock();所以当我写我的测试时$this->test->expects($this->once())->method('otherMethod')->willReturn(0);这会报错:CannotredeclareMock_Test_f21c25ee::expects()in...我该如何解决这个问题?编辑:在我使用se

phpunit 运行测试两次 - 得到两个答案。为什么?

这是我的phpunit测试文件controller=newdemo();ob_start();$this->controller->handleit();$result=ob_get_clean();$expect='Actionsisanarray';$this->assertEquals($expect,$result);}functiontest02(){$this->test01();}}?>这是被测文件结果是第二个测试失败,因为$actions为null。我的问题是-为什么两次测试的结果不同?这是phpunit的错误还是我对php的理解? 最佳答案

php - Zend Framework 项目示例 1.8+

让我先这样说;我知道存在类似的问题,但它们已经有几年的历史了,而且ZF正在迅速变化。我想要一个更新的例子。很多人注意到ZendFramework的文档很缺乏。我已经阅读了很多,并用它来启动了一些应用程序,但我发现真的很难理解如何正确地做事。我最大的问题是各种组件属于哪里,应该在哪里实例化等等。我正在尝试遵循MVC最佳实践,使用瘦Controller和胖模型。我也在尝试使用最新的MVC堆栈,包括Zend_Application和推荐的Bootstrap类。我希望看到一个使用框架最佳实践的示例站点,它可以演示以下组件(理想情况下):Zend_ACL/Zend_Auth:如何在应用程序中实际

php - Zend Framework - 你能支持多个 View 渲染器吗?

我有一个ZendFramework项目,由于以前程序员的专业知识,使用了ViewSmartyView渲染引擎(在Bootstrap中设置)。我现在想-随着时间的推移-迁移到默认的ZFPHTMLView渲染器或者甚至可能使用PHPTAL.在我进行迁移(.tpl到.phtml)时,ZF(版本1.10+)能否支持多个View渲染器?我找不到关于该主题的任何文档。 最佳答案 嗨我使用默认的zend框架View,但我可以在其中使用smartyView使用此代码echo$this->render("sample.tpl");我确定你也可以这样做

zend-framework - 如何在 zend 框架中将动态变化的参数添加到面包屑

我在我的zend应用程序中使用面包屑,问题是我必须使用动态更改的参数。在我的面包屑中它应该是:Managehotels->hotel1->rates->addrate酒店在变,我只能做Managehotels->rates->addrate我无法将动态变化的酒店名称添加到我的面包屑中,我该怎么做,有什么办法吗? 最佳答案 您应该能够动态更改面包屑。您可以从数据库生成导航对象,您可以在以下链接中找到如何创建导航对象..http://framework.zend.com/manual/en/zend.navigation.pages.h