Skip to main content

后门操作准备数据

什么是后门操作

后门操作是指,通过调用非公开的 API 来准备测试数据。

比如在一个 Todo 项目中,我们要测试 removeTodo 功能(通过 id 删除 todo)是否正常。

但我们还没有实现 addTodo 函数。

这时候,我们就可以直接往 todospush 一个 todo 来测试。

const todo = {
id: 0,
title: "work",
};

store.todos.push(todo);

这就是后门操作准备数据。

这种操作方式和业务代码的实现有非常大的耦合

比如上面代码就暴露了 todo 的数据结构

如果之后 todo 里增加了属性,那这个测试里的代码也会报错。

脆弱的测试

这种测试就是脆弱的测试。

这种测试一多,大家就都不敢去修改业务代码了。

但这里由于还没有实现 addTodo,所以也可以先使用后门操作,测试完 removeTodo

随后 addTodo 功能实现后,就替换掉后门操作。一定要替换掉。

尽可能不要使用后门操作,优先使用 round-trip 方式。