为了更好地测试和分离前端/后端开发,我们目前正在尝试找到一种在devMode中提供模拟服务实现的动态方法。
我们的想法是在您的环境中指定哪些服务应该被模拟,然后让注入器返回基于此的实际或模拟实现。
现在的问题是,是否可以为注入器提供的每个服务动态执行此操作,或者是否必须为每个服务使用单独的工厂(执行相同的操作)?
// pseudo code
onRequestProviderFor(serviceName)
{
if(environment.mockTheseServices.contains(serviceName))
{
return new "Mock"+serviceName.ts
}
else
{
return new serviceName.ts
}
}
这可能吗?我们可以使用注入器进程中的钩子(在devMode中)吗?
答案 0 :(得分:1)
您是否考虑过使用https://github.com/typicode/json-server等内容创建单独的模拟服务器?
我认为这会使您的项目代码更加清晰,不会在同一代码库中包含模拟服务。