小编M3R*_*3RS的帖子

如何使用 pytest-mock 指定模拟函数的返回值?

下面打印False。这不是嘲笑的方式吗?

我尝试更改该函数的路径,但它出错了,因此路径似乎是正确的。我缺少什么?

import pytest

from deals.services.services import is_user_valid


class TestApi:
    def test_api(self, mocker):
        mocker.patch('deals.services.services.is_user_valid', return_value=True)
        print(is_user_valid("sdfds", "sdfsdf"))
Run Code Online (Sandbox Code Playgroud)

python pytest python-3.x pytest-mock

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

字符集 [ ] 中的正则表达式捕获组 ( )

我想匹配空格字符 ( ) 仅当它们后跟哈希 ( #) 时。

这就是( #)下面试图做的,这是一个捕获组。(我尝试转义括号,否则在组集中无法正确识别括号)。但是,这是行不通的。

下面的正则表达式

/#[a-zA-Z\( #\)]+/g
Run Code Online (Sandbox Code Playgroud)

符合以下所有条件

#CincoDeMayo #Derby party with UNLIMITED #seafood towers
Run Code Online (Sandbox Code Playgroud)

虽然我想匹配#CincoDeMayo #Derby和分开#seafood

有没有办法()在字符集中指定捕获组[]

regex

5
推荐指数
1
解决办法
5924
查看次数

Django 查询相对于原始 SQL 较慢

我用来matches.query.__format__('')打印 Django 查询将执行的原始 SQL。

如果我直接执行该查询,psql则需要 5-10 毫秒,而下面计时的 Django 查询在第一次执行时可能会占用 100 毫秒。

损失 100 毫秒是很多(必须运行第二个查询 - 所以这是 2 x 100 毫秒 - 添加延迟,用户很容易注意到)。这是正常的吗?我错过了什么吗?

def api(request):
    tag = request.GET.get('q', '')
    matches = Relationship.objects.filter(keyword=tag, count__gte=3).order_by('-count')[:30]

    print(matches.query.__format__('')) # get raw SQL query here

    start_time = time.time()
    print(matches) # lazy query executed here
    print("Time elapsed {0:0.1f}ms".format((time.time() - start_time) * 1000))

    mydict = serialize_matches(matches, tag)
    return JsonResponse(mydict)
Run Code Online (Sandbox Code Playgroud)

更新:

感谢以下提示。Django 看起来不错,毕竟是数据库慢。我的一些psql查询非常快,因为结果已经被缓存。即使psql重新启动,似乎也会有一些缓存,这可能会混淆性能测试。

django

5
推荐指数
1
解决办法
996
查看次数

Vue-cli 3环境变量均未定义

我已经尝试了所有解决方案,但似乎没有一种适合我。我只想将一些值存储.env在Vue应用程序内的文件中,但仅尝试记录即可process.env从组件内部返回一个空对象。

我的.env档案

VUE_APP_URL={api url}
VUE_APP_TOKEN={token}
Run Code Online (Sandbox Code Playgroud)

我的计划是将这些环境变量设置为数据属性,但它总是返回undefined。如果我console.log(process.env.NODE_ENV)从webpack.config.js中进行操作,它将显示我正在开发中,但是如果我尝试从类似组件的内部进行操作,

mounted() {
    this.$nextTick(() => {
      console.log(process.env.VUE_APP_URL);
    })
  }
Run Code Online (Sandbox Code Playgroud)

它只是返回undefined

environment-variables vue.js vuejs2 vue-cli vue-cli-3

4
推荐指数
6
解决办法
2905
查看次数

Django测试:RequestFactory()跟随重定向

在Django中,我有一个视图,该视图将重定向到某些用户的注册页面,我想为此编写测试。

request.client.get用于测试的标准不允许我指定用户(它只是默认为anonymous_user?),因此我无法测试其行为。

随着RequestFactory()我能够指定request.user。但是,它没有遵循重定向并且测试失败。

from .views import my_view
from django.test import RequestFactory()

def test_mytest(self):
    user = create_guest_user()
    self.factory = RequestFactory()
    request = self.factory.get(reverse('my_view'), follow=True)
    request.user = user
    response = my_view(request)
    self.assertContains(response, "page where redirected should contain this")
Run Code Online (Sandbox Code Playgroud)

它在最后一行失败,并显示以下错误消息:

AssertionError: 302 != 200 : Couldn't retrieve content: Response code was 302 (expected 200)
Run Code Online (Sandbox Code Playgroud)

任何想法如何做到这一点?

编辑:据我所知,这不是重复的,因为它指的RequestFactory()self.client.get(与follow=True解决问题的地方不同)。

python django django-testing

3
推荐指数
1
解决办法
1066
查看次数

Grafana 本地主机上的“用户名或密码无效”

在 上运行 Grafana 时https://localhost:3000,我的密码似乎已停止工作。

  • grafana-cli --homepath /usr/local/share/grafana admin reset-admin-password admin我尝试使用和重置管理员密码
  • 重新安装 Grafana,

但不断收到“无效的用户名或密码”。

grafana

3
推荐指数
1
解决办法
6233
查看次数

“ heroku run rake db:migrate”命令返回ETIMEDOUT错误消息

为什么我可能会收到以下错误消息的任何想法?

$ git push heroku master                                                                                                                            
Everything up-to-date                                                                                                                               
$ heroku run rake db:migrate                                                                                                                        
Running rake db:migrate on ? agile-retreat-87004... !                                                                                               
?    ETIMEDOUT: connect ETIMEDOUT 50.19.103.36:5000
Run Code Online (Sandbox Code Playgroud)

deployment rake ruby-on-rails heroku dbmigrate

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