我正在构建一个教育服务,这是一个相当繁重的应用程序。我有很多触发各种操作的用户操作,有些是现在,有些是未来。
例如,当学生完成他一天的课程时,应该发生以下情况:
- 更新他的用户模块记录的进度计数
- 检查他是否完成了一个特定的模块并让他进入下一个模块(这反过来会触发更多的动作)
- 触发当前电子邮件给其他用户
- 触发未来的电子邮件给自己(正在进行的课程计划)
- 创建其他对象的范围(教师评分待办事项)
- 任何其他特殊情况事件
所有这些触发器都内置在各种对象的观察者中,并使用 Sidekiq 延迟执行。
杀死我的是测试,以及每当我推动某物时我可能会破坏某物的偏执狂。过去,我做了很多断言和验证检查,它们就足够了。对于这个项目,考虑到复杂性的提高,我认为这还不够。
因此,我想实现一个测试框架,但是在阅读了各种选项(Rspec、Cucumber)之后,鉴于我相当具体的需求,特别是对于观察者和预定的事件。
关于哪种方法和框架最合适的任何建议和提示?可能会在不久的将来拯救我的屁股;)
没关系,但我使用的是 Rails 3.2 / Mongoid。如果它有效,很高兴升级。