添加、更新、删除的 xUnit 通用存储库测试

xUnit general repository testing of add, update, delete

是否值得对存储库添加、更新或删除方法进行单元测试?

public void Update(TEntity entity)
{
    dbSet.Update(entity);
}

和用法:

UnitOfWork.NeakReports.Update(neakReport);

我问是因为所有东西都是moqed所以我不知道它是否是必须的然后如何。

您可以将单元测试视为安全网。

所以,答案在很大程度上取决于您想要什么样的安全网,例如:

  1. 不要改变输入而是将其原样传递给底层组件
  2. wrapper 调用正确的方法(wrapper 的 Update 不应调用 wrapped 的 Delete
  3. wrapper 仅调用依赖项上的预期方法,不调用任何其他方法 ...

换句话说,如果将来这个薄包装纸有可能变厚,那么您要通过打破一些测试来确保它发生。如果代码可以在没有通知的情况下潜入,那么它可能会造成伤害。

你的偏执程度将决定多少测试是足够的:)