【问题标题】:EcomDev Phpunit tests called twice during executionEcomDev Phpunit 测试在执行期间调用了两次
【发布时间】:2013-08-06 22:14:07
【问题描述】:

我正在尝试运行几个单元测试用例,但我发现它们每次运行都会运行两次,但我不确定原因。

以下是我的测试用例结构-

class Sample_Module_Test_Model_HelloserviceTest extends EcomDev_PHPUnit_Test_Case{

 public function testHelloworld(){
  Mage::log("Hello world!");
 }

}

而且,我通过

执行测试
 phpunit --group Sample_Module

这是我看到的

PHPUnit 3.7.22 by Sebastian Bergmann.

Configuration read from /mnt/www/dev.giftcardmall.com/phpunit.xml.dist

......

Time: 2 seconds, Memory: 26.75Mb

OK (2 tests, 0 assertions)

在日志中我还看到每次执行都会打印两次 Hello world。

我不确定我哪里出错了...任何帮助将不胜感激。

【问题讨论】:

  • 所有单元测试都执行两次?
  • @Thiha 是的,我现在又添加了一些,所有的都执行了两次。好吧,其中一个测试用例是创建一个 magento 网站,它执行两次 - 第二次失败,抛出具有相同代码的网站已经存在的异常
  • 这里有同样的问题。 (我在 phpStorm Win7 上)

标签: php magento phpunit magento-1.7 ecomdev-phpunit


【解决方案1】:

由于不正确的参数,您很可能正在执行测试,例如:

phpunit -c tests/ -c tests/phpunit.xml

【讨论】:

    【解决方案2】:

    迟到总比不到好。我有同样的问题,但现在才费心去调查。

    就我而言,我在 config.xml 中定义了错误的组。我用单数节点名称定义了我的组,但它们应该是复数。所以而不是:

    <phpunit>
        <suite>
            <modules>
                <Module_Name />
            </modules>
            <groups>
                <model>Model</model>
                <helper>Helper</helper>
                <block>Block</block>
            </groups>
        </suite>
    </phpunit>
    

    应该是:

    <phpunit>
        <suite>
            <modules>
                <Module_Name />
            </modules>
            <groups>
                <models>Model</models>
                <helpers>Helper</helpers>
                <blocks>Block</blocks>
            </groups>
        </suite>
    </phpunit>
    

    但您也可以将组节点排除在外。仅当您在另一个目录中进行测试时才真正需要它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-10-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-14
      • 2016-08-07
      • 1970-01-01
      • 2018-05-05
      相关资源
      最近更新 更多