标签: phpunit

使用phpunit/selenium保持selenium浏览器打开

当测试失败时,运行selenium测试的浏览器将关闭.这在尝试调试时无益.我知道我可以选择在失败的情况下进行屏幕截图,但如果没有完整的上下文,这将无济于事.浏览器仍然可用,我可以回击并检查发生了什么.

是否有一种方法可以保持浏览器打开,即使断言失败或找不到元素?

selenium phpunit

7
推荐指数
1
解决办法
5295
查看次数

在phpunit中连接约束

我的问题是,我如何连接phpunit的clausule中的约束?在虚拟示例中:

$test->expects ($this->once())
     ->method ('increaseValue')
     ->with ($this->greaterThan (0)
     ->will ($this->returnValue (null));
Run Code Online (Sandbox Code Playgroud)

方法increaseValue的参数必须大于0,但如果我需要评估此参数必须小于10.

我如何连接$this->lessThan(10)

php phpunit

7
推荐指数
1
解决办法
1586
查看次数

phpunit模拟全面的文档

有什么是模拟以及如何使用它们的描述:http://www.phpunit.de/manual/current/en/test-doubles.html

但所有可能的方法,如不全面的解释$this->any(),$this->once(),$this->equalTo()

所以我正在寻找Mock生成API

PS:是的,我知道我可以在消息来源中查看它,但我正在寻找一个在线API文档

php phpunit

7
推荐指数
1
解决办法
1682
查看次数

yii控制器动作单元测试,不含硒

假设我有一个动作:

function actionShowItem($id)
{
    $item = Item::model()->findByPk($id);
    $this->render("showitem",array('model' => $id));
}
Run Code Online (Sandbox Code Playgroud)

此操作的简单单元测试是什么,它将验证视图输出中的文本.它在zend框架中很容易,不使用硒.我们可以在zend中创建假的GET和POST.但我在Yii中没有找到相同的例子.请建议.

phpunit unit-testing yii

7
推荐指数
1
解决办法
1808
查看次数

数据提供的最佳实践 - PHPUnit

我正在为一个库编写单元测试,在从数据重构业务逻辑之后,我现在对如何测试逻辑有点困惑!

例如,我有一个非常复杂的过程,其中传递了一组数据,我将使用数据提供程序,因此我可以确保它适用于各种情况.

有了我将通过数据提供者传递的数据,我是否也应该通过预期的结果?或者应该在测试中计算出来.

如上所述,计算过程是一个非常复杂的过程,并不完全$a + $b.

php phpunit

7
推荐指数
2
解决办法
1113
查看次数

PHPunit无法找到测试

PHPunit无法找到我的测试,但确实找到了我的XML配置.这是配置:

<?xml version="1.0" encoding="UTF-8"?>
<phpunit backupGlobals="false"
         backupStaticAttributes="false"
         bootstrap="vendor/autoload.php"
         colors="false"
         convertErrorsToExceptions="true"
         convertNoticesToExceptions="true"
         convertWarningsToExceptions="true"
         processIsolation="false"
         stopOnFailure="false"
         syntaxCheck="false"
>
    <testsuites>
        <testsuite name="Symply Test Suite">
            <directory>src/Symply/EventManager/Tests</directory>
        </testsuite>
    </testsuites>
</phpunit>
Run Code Online (Sandbox Code Playgroud)

这是目录结构:

目录结构 PHPunit在运行脚本时说"没有执行测试".我不知道为什么这不起作用,因为我在XML目录标签中指定了目录.

phpunit unit-testing

7
推荐指数
3
解决办法
7334
查看次数

集成测试PHPUnit和Phinx

我正在创建一个PHP REST api,使用PHPUnit进行单元测试和集成测试.我希望将phinx集成到数据库迁移中(而不是自己构建迁移代码).

我实际上有两个问题:

  • 我如何使用Phinx进行数据库设置?Phinx通常用作命令行工具,但我需要一些方法来调用我的单元测试类中的setup方法.

  • 我将如何进行集成测试我编写的迁移类?我想要一些验证,在每次迁移步骤后,我的数据库处于某种预期状态(可能包括在每次迁移期间应该保持一致的一些样本数据)

php phpunit database-migration

7
推荐指数
1
解决办法
1055
查看次数

Mockery中的重载和别名有什么区别?

我是新来使用嘲弄和混淆的术语aliasoverload.任何人都可以向我解释何时使用哪个?

php tdd phpunit mockery

7
推荐指数
1
解决办法
3649
查看次数

Symfony和PhpUnit内存泄漏

在我们的phpunit测试中加载Doctrine时,我们遇到内存泄漏问题

从Symfony的文档开始:http: //symfony.com/doc/2.7/cookbook/testing/doctrine.html我们编写了这个测试:

use Symfony\Bundle\FrameworkBundle\Test\KernelTestCase;

class memoryleakTest extends KernelTestCase
{
    private $em;

    protected function setUp()
    {
        self::bootKernel();

        $this->em = static::$kernel->getContainer()
            ->get('doctrine')
            ->getManager();
    }

    protected function tearDown()
    {
        parent::tearDown();

        $this->em->close();
    }

    function testEEE1()  { 
    }
    function testEEE2()  { 
    }
    function testEEE3()  { 
    }
    function testEEE4()  { 
    }
    function testEEE5()  { 
    }
    function testEEE6()  { 
    }
    function testEEE7()  { 
    }
    function testEEE8()  { 
    }
    function testEEE9()  { 
    }
    function testEEE10()  { 
    }
    function testEEE11()  { 
    }
    function testEEE12()  { …
Run Code Online (Sandbox Code Playgroud)

phpunit doctrine symfony

7
推荐指数
2
解决办法
2910
查看次数

PHPUnit模拟函数是否仍然非常有用,因为我们可以在PHP7中使用匿名类?

我是PHPUnit中的新手,并重写我的老式单元测试以使用它.我认识到框架的附加价值,使测试更具可读性,更简单,生成报告,自动化...但我仍然对模拟/存根功能存在分歧.它们是否真的有用,因为我们可以在PHP7中使用匿名类?

例如,是:

$stub = $this->createMock(SomeClass::class);
$stub->method('doSomething')
    ->willReturn('foo');
Run Code Online (Sandbox Code Playgroud)

真的应该比以下更优雅/可读/简单:

$stub = new class extends SomeClass {
    protected function doSomething() { return 'foo'; }
};
Run Code Online (Sandbox Code Playgroud)

在我看来,对于不了解框架的开发人员来说,第二个命题更具可读性和可访问性.

是否还有充分的理由使用此功能?

换句话说,我可以用PHPUnit的模拟/存根函数做些什么我不能使用匿名类吗?或者是偏好/用例问题?

php phpunit unit-testing mocking php-7

7
推荐指数
0
解决办法
704
查看次数