Ria*_*ana 12 state unit-testing design-patterns
假设我有一个Order类,它可以在三种不同的状态:CheckedState,PaidState和OrderedState.
状态机将使用标准状态设计模式(Gof)实现.
你通常如何对此进行单元测试?你使用的每个状态类(夹具CheckStateFixture,PaidFixture...)和彼此(OrderFixture)的上下文类?或者您只使用一个夹具用于上下文类(Order),您将在其中放置所有单元测试?
我不愿将州基础设施与实体本身分开.所以你会的
对于国家基础设施,我建议每个实体使用单个固定装置,因此OrderStateFixture订购国家基础设施就足够了.
主要测试是确保订单状态正确切换的测试:
Order.Paid(amount)方法后,Order.State切换到PaidOrder.Verify()返回true/pass而没有异常 - Order.State变为Checked/Verified| 归档时间: |
|
| 查看次数: |
5277 次 |
| 最近记录: |