我正在构建大型遗留应用程序的测试套件。我有大量的集成测试,但没有单元测试(无)。我正在努力解决这个问题。
问题是,这个应用程序的体系结构是rails / ActiveRecord只处理我的面向Web的部分,验证,持久性,但事后的内容是在PORO中执行的。这些PORO大致对应于ActiveRecords,但转换中涉及一些操作。
由于PORO具有业务逻辑,我想从单元测试开始。我最初想过使用rails fixtures,但是从我可以看出,rails只是加载YAML并将其猛烈攻击到你的测试数据库中,这不是我想要的。实际上,rails文档明确说明了
灯具是活动记录对象
然后我想使用Minitest中内置的内容,但这也不适合,因为它提供了我的测试对象应该与之通信的存根和模拟,而不是将我的对象持久化的方式一个测试文件。
所以现在我不知所措 - 如何保存测试对象,以便我可以将它们加载回内存而无需通过数据库?
编辑:如果这对工厂来说更好,那也没关系,但我已经有了固定装置,所以我还想留在那个世界。