如何解决为 Loopback 替换测试环境中的数据源
在项目启动时创建的 PingController 的默认验收测试失败,因为我的应用程序有一个在测试环境中无法访问的 Postgresql 数据源。我尝试用内存中的一个数据源替换这个数据源,但它不起作用,它仍然使用“真实”的数据源。
我以这种方式更改了 setupApplication
方法:
export async function setupApplication(): Promise<AppWithClient> {
const restConfig = givenHttpServerConfig({
});
const app = new MyApplication({
rest: restConfig,});
const datasource = new juggler.DataSource({
name: 'myds',connector: 'memory',});
app.bind('datasources.myds').to(datasource);
await app.boot();
await app.start();
const client = createRestAppClient(app);
return {app,client};
}
我做错了什么?
坦克需要你的帮助。
解决方法
class ElementViewModel : ObservableObject,Hashable {
// ... other code
static func == (lhs: ElementViewModel,rhs: ElementViewModel) -> Bool {
lhs.id == rhs.id && lhs.on == rhs.on // << here !!
}
// ... other code
}
扫描项目根目录中的工件并将覆盖绑定。
对于单元测试或仅限于几个组件的测试,最好删除 app.boot()
,然后显式绑定该测试所需的每个工件。这将更容易检测意外的工件依赖项。
否则,请确保在任何手动绑定之前调用 app.boot()
:
app.boot()
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。