如何使用DCI模式测试行为?

时间:2012-02-01 19:54:12

标签: ruby-on-rails unit-testing rspec tdd dci

我正在编写一个简单的网页游戏来试验DCI模式,我想知道如何正确地测试上下文。

https://gist.github.com/1718889

我有一个上下文CharacterAttacksAnotherCharacter,它带有两个字符,并用两个角色(AttackerTarget)扩展它们。然后执行上下文。

但是,我如何测试此执行的行为而不是实现?

谢谢!

1 个答案:

答案 0 :(得分:1)

一般来说,测试DCI上下文中的交互应该相当容易。上下文的目标之一是自包含,因此将角色绑定到适合测试的对象应该是直截了当的。如果不是这可能表明它不是真正的DCI。 我很难在代码中找到任何角色方法。这可能是由于我缺乏红宝石技能。 通常,交互应该是一个完整的算法,这是您在为上下文创建单元测试时要测试的内容。然而,DCI的目标是创建一个可验证的代码单元,因此如果达到该目标,那么代码的其他部分与使用评论来验证上下文的实现及其交互相比,其中测试工作产生更高的价值。 / p>