0

我目前正在尝试让 PHPUnit 与 Magento 一起工作。在网络上的某些地方,人们推荐 EcomDev 的扩展,所以我试了一下。

我构建了本教程中编写的示例设置,我只是将 EcomDev_Example_... 替换为 Test_JustTest_...

但是,它不能正常工作,我想我将数据放在错误的 config.xml 中。目前我已经在 /app/code/local/Test/JustTest/etc/config.xml 和扩展的 config.xml 中写下了模块名称,只是为了尝试不同的东西。好吧,我可以运行 PHPUnit,但它总是告诉我没有要运行的测试。

我在谷歌上花了很多时间没有找到更详细的例子

4

1 回答 1

1

我面临同样的问题,但现在我得到了它的工作。我创建了app/code/local/Namespace/Module/etc/config.xml

<?xml version="1.0"?>
<config>
    <phpunit>
        <suite>
            <modules>
                <Namespace_Module/>
            </modules>
        </suite>
    </phpunit>
    <modules>
        <namespace_module>
            <version>0.1</version>
        </namespace_module>
    </modules>
    <global>
        <models>
            <eav>
                <rewrite>
                    <entity_increment_numeric>Namespace_Module_Model_Entity_Increment_Numeric</entity_increment_numeric>
                </rewrite>
            </eav>
        </models>
    </global>
</config>

其实这些名字都不是Namespace_Module,我只是换了给大家看。它是一个覆盖来自 magento 的数字模型的模块,但它没有太大的区别。

看到我的测试在 app/code/local/Namespace/Module/Test/Model/Entity/Increment/Numeric.php 下

看起来像:

<?php
class Namespace_Module_Test_Model_Entity_Increment_Numeric extends EcomDev_PHPUnit_Test_Case
{

    /**
    * Test Next Id Never Returns zero
    *
    * @test
    */
    public function testGetNextIdNeverReturnsZero(){   
        $this->assertTrue(true);
    }
}

完成所有设置后,您应该在控制台/终端上使用以下命令运行测试:

phpunit UnitTests.php

请记住,您应该通过在 app/etc/modules 中添加 Namespace_Module.xml 作为任何其他模型来启用您的模块。我的错误是我在模型中将该文件夹命名为 Tests 而不是 Test。我不认为你在做同样的事情......

无论如何,我希望它有所帮助。有关更多信息,该手册可以为您提供很多帮助。

于 2012-11-23T10:12:52.553 回答