【问题标题】:How to set up PHPUnit for an Apigility ZF2 application with multiple versions?如何为具有多个版本的 Apigility ZF2 应用程序设置 PHPUnit?
【发布时间】:2015-05-12 09:03:41
【问题描述】:

phpunit.xml 用于具有通用文件夹结构的通用 ZF2 应用程序

...
/phpunit
/phpunit/phpunit.xml
/module
/module/Application
/module/ModuleFoo
/module/ModuleBar
...

可以定义如下:

<phpunit>
    <testsuites>
        <testsuite name="modules">
            <directory>../modules/Application/tests</directory>
            <directory>../modules/ModuleFoo/tests</directory>
            <directory>../modules/ModuleBar/tests</directory>
        </testsuite>
    </testsuites>
</phpunit>

现在我正在编写一个由 Apigility 驱动的 REST API 应用程序,将来会有多个版本。

...
/phpunit
/phpunit/phpunit.xml
/module
/module/Application
/module/ModuleBuzApi
/module/ModuleBuzApi/V1
/module/ModuleBuzApi/V2
...
/module/ModuleBuzApi/Vn
...

我可以为每个版本定义一个测试套件,但是我必须为每个新版本复制并粘贴它。有没有更优雅的方法?

【问题讨论】:

    标签: php zend-framework2 phpunit laminas-api-tools


    【解决方案1】:

    也许只使用通配符?

    例如:

    <testsuites>
        <testsuite name="modules">
            <directory>../modules/*/tests</directory>
        </testsuite>
    </testsuites>
    

    【讨论】:

    • 感谢您的回答!据我所知,通配符不适用于测试套件目录路径。但无论如何 - 这不是我需要的,因为(如果它有效)那么所有版本都将立即进行测试。必须可以单独测试版本。
    • 实际上我使用的是&lt;directory&gt;*Test&lt;/directory&gt;,它正在工作。虽然如果你想分别执行(和命名)它们,我认为不可能自动实现:/
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-26
    • 2015-07-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多