为了访问对象,创建了一个包含函数的Slick DAO,该函数返回存储类型的动作和对象。例如:当DAO包含动作时减少测试开销
def findByKeysAction(a: String, b: String, c: String = {
Users.filter(x => x.a === a && x.b === b && x.c === c).result
}
def findByKeys(a: String, b: String, c: String): Future[Option[foo]] = {
db.run(findByKeysAction(consumerId, contextId, userId)).map(_.headOption)
}
通知所述非基于作用函数的环绕方式,另一个在db.run()
。
测试这两个函数和最小化代码冗余的可靠方法是什么?
我很天真的方法当然可以用它们各自的测试设置来测试它们(上面是一个简单的例子;可能需要很多测试设置来满足数据库限制)。
更正了我的代码示例并删除了一些噪音。抱歉,如果您有时间,请更新您的代码。谢谢! –