【发布时间】:2009-06-08 16:28:27
【问题描述】:
假设我有具有以下方法的 Car 类:
- LoadGasoline(Iuel gas)
- InsertKey(IKey 键)
- StartEngine()
- IDrivingSession Go()
Car 的目的是配置并返回一个 IDrivingSession,应用程序的其余部分将使用该 IDrivingSession 来驾驶汽车。如何对我的汽车进行单元测试?
看起来它需要完成一系列操作才能调用 Go() 方法。但我想分别测试每种方法,因为它们都有一些重要的逻辑。我不想有一堆像
这样的单元测试Test1: LoadGasoline, Assert
Test2: LoadGasoline, InsertKey, Assert
Test3: LoadGasoline, InsertKey, StartEngine, Assert
Test4: LoadGasoline, InsertKey, StartEngine, Go, Assert
是否有更好的方法来对顺序逻辑进行单元测试,或者这是我的汽车设计的问题?
--- 编辑 ---- 感谢所有的答案。正如许多人所注意到的,我也应该对无效场景进行测试,我也有这些,但这个问题的重点是如何测试有效序列。
【问题讨论】:
标签: unit-testing language-agnostic