【问题标题】:@dataProvider in Cest format in CodeceptionCodeception 中 Cest 格式的 @dataProvider
【发布时间】:2015-07-22 12:58:00
【问题描述】:

如何使用 Cest 格式的“@dataProvider”? (http://codeception.com/docs/05-UnitTests#Cest) 例如我有这个代码。怎么写成Cest格式

class ExampleTest extends \Codeception\TestCase\Test
{
    /**
     * @dataProvider providerAdd
     */
    public function testAdd($a, $b, $c)
    {
        $this->assertEquals($c, ($a + $b));
    }

    public function providerAdd()
    {
        return array (
            array (2, 2, 4),
            array (2, 3, 5),
            array (3, 5, 8)
        );
    }
}

【问题讨论】:

    标签: php unit-testing codeception


    【解决方案1】:

    由于 Codeception 2.2 有一个更好的选择,使用“示例”: http://codeception.com/docs/07-AdvancedUsage#examples

    这是您在单元/功能测试中称为 dataProviders 的 Cest 样式实现。它目前只允许在注释中提供数据集,但它是可行的......

    【讨论】:

      【解决方案2】:

      @dataprovdier 注释现在在 Codeception 中作为网站上的文档(或 docs/07-AdvancedUsage.md)适用于我 - 但请注意注释区分大小写 @dataprovdier 不是 @dataProvdier。

      http://codeception.com/docs/07-AdvancedUsage#Cest-Classes

      【讨论】:

        【解决方案3】:

        @dataProviderPHPUnit annotation,不会在 Cest 或 Cept 执行中进行评估。

        如果您想以 TDD/BDD 方式编写测试,您可以关注 the Codeception guidelines。另外Specify支持examples,可以替代php注解的使用。

        【讨论】:

        • 你是否知道Cest格式仍然不支持@dataProvider?这里的文档似乎表明它可以但它似乎不起作用? codeception.com/docs/07-AdvancedUsage
        • WFM 现在!深入研究了所有 Codeception DI,但在我的注释 @dataprovider 作品(Codeception 2.2.9)中只是区分大小写。
        猜你喜欢
        • 2017-05-12
        • 1970-01-01
        • 2015-05-13
        • 2017-04-03
        • 1970-01-01
        • 2013-09-16
        • 2016-08-21
        • 2016-12-07
        • 1970-01-01
        相关资源
        最近更新 更多