后门操作准备数据
什么是后门操作
后门操作是指,通过调用非公开的 API 来准备测试数据。
比如在一个 Todo 项目中,我们要测试 removeTodo
功能(通过 id
删除 todo
)是否正常。
但我们还没有实现 addTodo
函数。
这时候,我们就可以直接往 todos
里 push
一个 todo
来测试。
const todo = {
id: 0,
title: "work",
};
store.todos.push(todo);
这就是后门操作准备数据。
这种操作方式和业务代码的实现有非常大的耦合。
比如上面代码就暴露了 todo
的数据结构。
如果之后 todo
里增加了属性,那这个测试里的代码也会报错。
脆弱的测试
这种测试就是脆弱的测试。
这种测试一多,大家就都不敢去修改业务代码了。
但这里由于还没有实现
addTodo
,所以也可以先使用后门操作,测试完removeTodo
。随后
addTodo
功能实现后,就替换掉后门操作。一定要替换掉。
尽可能不要使用后门操作,优先使用
round-trip
方式。