标签: testing
我最近读过很多人应该对私人功能进行模拟或单元测试 - 它们应该是实施细节,而你不会对此进行测试 - 足够公平。但是如果私有方法进行一些数据库调用或调用其他外部资源呢?我得到了使用依赖注入的想法,但这在非oop,过程类型语言中似乎不可能。
似乎不一定要通过公共方法向公众公开数据库调用,因此将方法声明为private。现在,如果我在我想要测试的公共函数中使用此方法,我需要使用私有方法的模拟或命中数据库。
解决方案是创建一个公共方法,它接受一个可能想要查询的参数,然后在私有方法中执行db调用吗?