小编mon*_*ser的帖子

测试函数不能同时接受“完成”回调

我正在尝试使用 Nestjs 创建一个简单的测试,但收到此错误

测试函数不能同时接受“完成”回调并返回某些内容。要么使用“完成”回调,要么返回一个承诺。

返回值:Promise{}

单元测试如此简单,但是当我使用done();时出现错误

it('throws an error if a user signs up with an email that is in use', async (done) => {
fakeUsersService.find = () => Promise.resolve([{ id: 1, email: 'a', password: '1' } as User]);
try {
  await service.signup('asdf@asdf.com', 'asdf');
} catch (err) {
  done();
}
});
Run Code Online (Sandbox Code Playgroud)

javascript unit-testing jestjs nestjs

35
推荐指数
2
解决办法
2万
查看次数

我的服务中的RenderView

我是symfony世界的新手.我想在我的服务中使用render,但是我收到了这个错误

调用未定义的方法renderView

我知道renderView是快捷方式

/**
 * Returns a rendered view.
 *
 * @param string $view       The view name
 * @param array  $parameters An array of parameters to pass to the view
 *
 * @return string The rendered view
 */
public function renderView($view, array $parameters = array())
{
    return $this->container->get('templating')->render($view, $parameters);
}
Run Code Online (Sandbox Code Playgroud)

但我不知道我的服务中有什么注射剂.我知道即使有php app/console container:debug命令我可以看到我的所有服务都可用,但我不知道如何采取/选择正确的

更新

我试着补充一下

arguments: [@mailer,@templating]
Run Code Online (Sandbox Code Playgroud)

但我明白了 ServiceCircularReferenceException

UPDATE

我改变了我的service.yml

    arguments: [@service_container]
Run Code Online (Sandbox Code Playgroud)

甚至我的服务

$email = $this->service_container->get('mailer');
$twig = $this->service_container->get('templating');
Run Code Online (Sandbox Code Playgroud)

使用服务邮件(swift)和渲染.

我不认为这是最好的解决方案.我想注射Only mailertemplating

更新杰森的回答之后 我正在使用Symfony 2.3 …

php symfony

24
推荐指数
3
解决办法
3万
查看次数

CSRF和X-CSRF-Token之间的区别

X-CSRF-Token在隐藏字段中使用标头或令牌有什么区别 ?

当使用隐藏字段和使用标题时为什么?

我想那X-CSRF-Token是我正在使用javascript/ajax,但我不确定

php security csrf csrf-protection

12
推荐指数
2
解决办法
2万
查看次数

单个集合中有多少个文件可以在mongoDb中使用?

我还没有找到任何关于此的信息.
在需要使用分片之前,MongoDB中的单个集合可以有多少个文档?

mongodb

10
推荐指数
1
解决办法
3706
查看次数

OpenSSL:RSA中使用私钥加密并使用公钥解密

我想使用 OpenSSL 和 RSA 算法用私钥加密文件:

openssl rsautl -in txt.txt -out txt2.txt -inkey private.pem -encrypt
Run Code Online (Sandbox Code Playgroud)

现在如果我进行解密操作:

openssl rsautl -in txt2.txt -pubin -inkey public.pem -decrypt
Run Code Online (Sandbox Code Playgroud)

此操作需要私钥

我知道我应该使用公钥来加密,如果我使用私钥,我就会得到签名。

但是,我想这样做是为了学习。

encryption rsa signature digital-signature

9
推荐指数
1
解决办法
1万
查看次数

Swift中的动态标签,不滚动

我正在学习Swift,我想知道如何滚动UILabel

我有一个动态填充的标签,但文本位于底部栏下方.

在此输入图像描述

我试过0行,约束..我想滚动视图阅读全文

UPDATE

答案之后我有这种情况

在此输入图像描述

使用Textview我可以阅读我的所有文本,使用带有UIScrollbar和UILabel的滚动,我无法读取所有文本.

当我必须使用TextView而不是UIScrollBar + UiLabel?

ios swift

7
推荐指数
2
解决办法
2万
查看次数

使用查询MongoDb创建数组

我有这个收藏

{
    "_id" : ObjectId("55555555ffffff000010200a"),  
    "name" : "foo"
}

{
    "_id" : ObjectId("55555555ffffff000010200e"),
    "name" : "bar"
}

{
    "_id" : ObjectId("55555555ffffff000010200f"),    
    "name" : "baz"
}


{
    "_id" : ObjectId("55555555ffffff000010200b"),
    "name" : "biz"
}
Run Code Online (Sandbox Code Playgroud)

我想要一个数组ID

我这样做了

db.mycollection.find({}, {_id: 1})
Run Code Online (Sandbox Code Playgroud)

并返回

{
    "_id" : ObjectId("55555555ffffff000010200a")
}

{
    "_id" : ObjectId("55555555ffffff000010200e")
}

{
    "_id" : ObjectId("55555555ffffff000010200f")
}

{
    "_id" : ObjectId("55555555ffffff000010200b")
}

{
    "_id" : ObjectId("55555555ffffff000010200c")
}

{
    "_id" : ObjectId("55555555ffffff0000103111")
}
Run Code Online (Sandbox Code Playgroud)

我可以有阵列吗?ID [ '55555555ffffff0000103111', '55555555ffffff0000103111', '555555555ffffff0000103111', '55555555ffffff0000103111']

arrays mongodb

6
推荐指数
1
解决办法
7806
查看次数

导出CouchDB的最佳方法是什么?

我是CouchDb的新手,有时我需要导出我的数据库.直到现在我使用了这个命令

curl -X GET http://127.0.0.1:5984/nomeDB/_all_docs\?include_docs\=true > /Users/bob/Desktop/db.json
Run Code Online (Sandbox Code Playgroud)

但是这样,在使用这个命令导入我的Dump之前

curl -d @db.json -H "Content-type: application/json" -X POST http://127.0.0.1:5984/dbName/_bulk_docs
Run Code Online (Sandbox Code Playgroud)

我必须纠正Json

"rows": [   =====>   "docs": [
Run Code Online (Sandbox Code Playgroud)

通过这种方式,我的文档还有一个密钥,即doc密钥.

例如,将转储传递给另一个开发人员的最佳方法是什么?

couchdb

6
推荐指数
1
解决办法
4599
查看次数

在Symfony 3中不允许使用405方法

我有这条路线的路线

/**
 * @Method({"DELETE"})
 * @Route("/secure/users")
 */
Run Code Online (Sandbox Code Playgroud)

当我尝试做一个cUrl

<html>
    <head>
        <meta charset="UTF-8" />
        <title>An Error Occurred: Method Not Allowed</title>
    </head>
    <body>
        <h1>Oops! An Error Occurred</h1>
        <h2>The server returned a "405 Method Not Allowed".</h2>

        <div>
            Something is broken. Please let us know what you were doing when this error occurred.
            We will fix it as soon as possible. Sorry for any inconvenience caused.
        </div>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

我也尝试启用

Request::enableHttpMethodParameterOverride();
Run Code Online (Sandbox Code Playgroud)

在app.dev和app_dev.php中,我可以处理PUT请求.

php rest symfony

6
推荐指数
1
解决办法
5163
查看次数

Nestjs导入服务或整个模块

我是 Nestjs 的新手,如果我想注入另一个模块,我不明白何时需要导入整个模块或仅导入服务。

例如:我有我的loggingModule

import { Module } from "@nestjs/common";
import { LoggingService } from "./logging.service";

@Module({
    providers: [LoggingService],
    exports: [LoggingService],
})
export class LoggingModule {}
Run Code Online (Sandbox Code Playgroud)

用我的登录服务:

import { Injectable } from "@nestjs/common";

@Injectable()
export class LoggingService {

    logToConsole(logString: string) {
        console.log(logString)
    }
}
Run Code Online (Sandbox Code Playgroud)

我想将其导入另一个模块,例如 BookModule

import { Module } from "@nestjs/common";
import { LoggingModule } from "src/logging/logging.module";
import { BookController } from "./book.controller";
import { BooksService } from "./books.service";


@Module({
    controllers: [BookController],
    providers: [BooksService],
    imports: [LoggingModule]
})
export class …
Run Code Online (Sandbox Code Playgroud)

nestjs

6
推荐指数
1
解决办法
3701
查看次数