我有一个其他服务依赖的 Nest 服务器。为了简化对这些其他服务的测试,我想启动一个不使用真实数据库的 Nest 服务器版本。相反,它应该使用内存数据库,如mongo-unit。
我的想法是拥有一个生产主模块和一个测试主模块,其中测试模块将保持所有内容相同,但使用内存数据库。但是,我无法弄清楚如何设置它。
我知道我可以使用async提供者,但我不知道它如何与导入一起工作,这就是@nestjs/typeorm公开的内容:
// app.module.ts
import { Module } from '@nestjs/common';
import { TypeOrmModule } from '@nestjs/typeorm';
@Module({
imports: [
...
TypeOrmModule.forRoot({
type: 'mongodb',
host: 'localhost',
port: 27017,
database: 'production',
entities: [__dirname + '/**/*.entity{.ts,.js}'],
synchronize: true,
}),
...
],
})
export class AppModule {}
Run Code Online (Sandbox Code Playgroud)
它需要是异步的,因为 mongo-unit 返回一个带有它监听的 URL 的承诺。所以我需要先启动 mongo-unit,然后才能初始化 TypeORM。我想象这样的事情:
// app.test.module.ts
import { Module } from '@nestjs/common';
import { TypeOrmModule } from '@nestjs/typeorm';
import * as mongoUnit from …Run Code Online (Sandbox Code Playgroud) 我的作业进展顺利,直到我完成了最后一项任务.
首先,我必须定义一个自定义List结构:
data List a = Nil | Cons a (List a) deriving Show
Run Code Online (Sandbox Code Playgroud)
另一项任务是编写自定义fold函数:
foldList :: (a -> b -> b) -> b -> List a -> b
foldList f b Nil = b
foldList f b (Cons a l) = f a (foldList f b l)
Run Code Online (Sandbox Code Playgroud)
第二个参数是在列表末尾(在Nil元素处)使用的值.
我还必须编写一个函数prodList,将所提供列表的每个元素相互相乘:
prodList :: List Int -> Int
prodList = foldList (\x y -> x * y) 1
Run Code Online (Sandbox Code Playgroud)
所述1在端部是multplication的中性元素.因此它对计算没有影响.
不过,最后一个对我来说很难解决.
我必须编写一个函数binList …
Java以什么顺序添加数字a + b + c?
难道a + (b + c)还是(a + b) + c?
我刚刚学习了浮点表示是如何工作的,并完成了一个练习,该练习解释了如果a, b, c是floats,当我以上面写的不同方式加起来时,它们可能产生不同的结果.
这让我想知道Java实际上做了哪种方式?
我?attr/selectableItemBackground通过android偶然发现了表达式- 在xml中使用支持v7应用selectableItemBackground.
我想查看该表达式的确切功能,因为我不明白开头的问号是什么,它是如何完成它的任务的.
它说它是支持库v7的一部分,但我尝试查找它并且找不到有用的洞察力