phpunit-provider数据供给器使用问题记录

上一篇 / 下一篇  2014-07-15 15:08:17 / 个人分类:phpunit

使用phpunit做API自动化测试
有几个API针对同一模块做增、删、改操作
原设计方案:
1、增加用例:增加前,把对应数据清理,即环境整理;
2、修改用例:修改API,参数包含对应记录的ID,因为ID是变化的,所以调用函数获取ID,在provider中再使用
3、删除用例:删除API,参数为对应记录的ID,因为ID是变化的,所以调用函数获取ID,在provider中再使用;

testsuite设计:
<?xml version="1.0" encoding="UTF-8"?>
<phpunit>
    <testsuite name="test">
        <file>AddTest.php</file>
        <file>EditTest.php</file>
        <file>DeleteTest.php</file>   
    </testsuite>
</phpunit>
但执行这个testsuite时,出现EditTest.php及DeleteTest.php找不到对应ID的情况;
一个个分别执行,即先执行AddTest.php,再执行EditTest.php,后执行DeleteTest.php,都正常

排查后发现,执行phpunit.xml前,会把所有用例的数据供给器,所需要的数据都先准备好,后再进行具体的用例执行操作;

即:testsuite中,虽然顺序是:增-》改-》删,但会把这三个用例的数据供给器对应的数据都先准备好,因增加用例还未执行,所以改、删用例查询ID时,为空;所以出错。。。

修改phpunit未能解决该问题!!

目前处理方法:
分成两个phpunit.xml
phpunit -c phpunit1.xml(第一个:执行增加用例)
phpunit -c phpunit2.xml(第二个:执行修改、删除用例)

比较麻烦。。。
先记录着,后续有发现其它方法再记录
有谁遇到类似问题,或有更好的处理方法,也劳烦告知下哈!

TAG: 数据 使用 问题 phpunit 供给器 记录 provider

 

评分:0

我来说两句

Open Toolbar