请帮我回答这个问题:我应该为与 iOS 应用程序的本地数据库交互的数据访问编写单元测试,在本例中是 SQLite 数据库。如果应该,我该如何写它们?使用模型或使用数据库文件。
最佳答案
假设您想要测试程序的逻辑,而不仅仅是访问 SQLite 的能力,测试替身(模拟对象或虚拟对象)将为您提供比单独的数据库文件更容易维护的测试。一个单独的数据库文件必须在正确的行中包含正确的数据,如果您在一个测试中修改它,则必须在下一个测试之前重置它。如果您的测试数据不同步,您的测试将开始失败。具有文字测试值的模拟对象永远不会不同步。
使用模拟几乎会迫使您使用依赖注入(inject),因此您可以用它代替真实的数据对象。使用 db 文件不会强制您使用依赖注入(inject)。因此,如果您正在使用大量不遵循 DI 模式的现有代码,那么 db 文件将是“简单”的选择,尽管从面向对象的角度来看不是最佳选择。
关于iphone - iOS:Sqlite 的单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13638593/