dongmacuo1193 2017-11-16 10:05 采纳率: 0%
浏览 43

数据提供者在phpunit中发布

This is my data provider function:

public function addDataProvider() {
    return [
        [
            [
                'currency' => 'eur',
                'amount' => 800,
            ],
            [
                'currency' => '12312k',
                'amount' => 1201,
            ],
            [
                'currency' => 'DKK',
                'amount' => 1200.01
            ],
            [
                'currency' => 'SEK  ',
                'amount' => 1200.01
            ]
        ],
    ];
}

This is my test function:

/**
 * Test case
 * @covers AmountPerCustomer::checkAmounts()
 * @dataProvider addDataProvider
 */
public function testCheckAmountUsingCurrency($query)
{
        ....
        try {
            $ordersPerCustomer->checkAmounts($query['amount'], $query['currency'], $dateInterval);
            $this->fail("Expected Exception has not been raised.");
        }catch (\Exception $error) {
            $this->assertEquals($error->getMessage(), "Total order amount event given parameters exceed sum {$query['amount']} since {$dateInterval->format('H:i d-m-Y')} from source {$source}");
        }
}

I am getting this success mesage: OK (1 test, 1 assertion) , My question why I have only one assertion. I have multiple array values in my provider . What am I doing wrong ?

Thank you!

  • 写回答

2条回答 默认 最新

  • douti19680318 2017-11-16 11:06
    关注

    As @localheinz suggested in the comments, it is a depth of array issue. This is how my array should look like:

    public function addDataProvider() {
        return [
            [
                [
                    'currency' => 'eur',
                    'amount' => 800,
                ]
            ],
            [
                [
                    'currency' => 'dkk',
                    'amount' => 1201,
                ],
            ],
            [
                [
                    'currency' => 'GBP',
                    'amount' => 1201,
                ],
            ],
            [
                [
                    'currency' => 'sek',
                    'amount' => 1200.01,
                ],
            ],
        ];
    }
    
    评论

报告相同问题?

悬赏问题

  • ¥15 R语言Rstudio突然无法启动
  • ¥15 关于#matlab#的问题:提取2个图像的变量作为另外一个图像像元的移动量,计算新的位置创建新的图像并提取第二个图像的变量到新的图像
  • ¥15 改算法,照着压缩包里边,参考其他代码封装的格式 写到main函数里
  • ¥15 用windows做服务的同志有吗
  • ¥60 求一个简单的网页(标签-安全|关键词-上传)
  • ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值