我正在为SOA系统编写功能测试,因此需要从前端测试后端子系统.
这是一个标准的CRUD系统.我有一个测试,测试我可以创建一个对象,它返回我的新对象的ID.在后续的测试中,我想编辑然后删除这个对象,但phpunit似乎每次都重新实例化测试类,所以我丢失了我的实例变量.
我怎样才能做到这一点?在架构中的每个服务器上运行功能测试不是一种选择.
edo*_*ian 38
在测试之间传递内容的一种方法是使用@depends
注释
public function testCreate() {
//...
return $id;
}
/**
* @depends testCreate
*/
public function testDelete($id) {
// use $id
}
Run Code Online (Sandbox Code Playgroud)
如果你这样做,如果创建不起作用,将跳过"删除"测试.
因此,如果服务完全不起作用而不是许多失败的测试,那么您将只收到一个错误.
如果您不想这样做或者因为某种原因与您的情况不匹配,静态类变量也可以是一个选项,但您应该确定您确实知道您绝对需要它们:)