【发布时间】:2022-01-21 08:43:58
【问题描述】:
在很多单元测试框架中,测试用例是独立的。例如,GoogleTest 说:
测试应该是独立的和可重复的。调试由于其他测试而成功或失败的测试是一件痛苦的事。 googletest 通过在不同的对象上运行每个测试来隔离测试。
我不明白为什么测试用例独立是好的。例如,假设一个复合对象A 使用对象B 和C。很明显,如果B 和C 有问题,那么A 所做的也将是不正确的,无论它是否正确实现。所以我有点想看到这样的输出:
Testing B [SUCCEED]
Testing C [FAILED]
Testing A [FAILED] because dependent test C failed.
这些框架是否假设与其相互依赖,不如通过模拟B 和C 来测试A?因为有时为你的类编写正确的 mocker 可能很复杂(而且本身也有问题),所以我仍然认为依赖测试更好。
【问题讨论】:
标签: unit-testing testing