小编Nam*_*Ngo的帖子

Python模拟补丁在另一个函数内的一个函数

def f1():
    return 10, True

def f2():
    num, stat = f1()
    return 2*num, stat
Run Code Online (Sandbox Code Playgroud)

我如何使用python的模拟库来修补f1()和返回自定义结果,以便我可以测试f2()

编辑: 我的测试有问题吗?这似乎不起作用,所有测试都失败了AssertionError

from foo.bar import f2
from mock import patch

class MyTest(TestCase):

    def test_f2_1(self):
        with patch('project.module.f1') as some_func:
            some_func.return_value = (20, False)
            num, stat = f2()
            self.assertEqual((num, stat), (40, False))

   @patch('project.module.f1')
   def test_f2_2(self, some_func):
       some_func.return_value = (20, False)
       num, stat = f2()
       self.assertEqual((num, stat), (40, False))
Run Code Online (Sandbox Code Playgroud)

python testing unit-testing patch mocking

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

Chrome扩展程序双击一个单词

一旦用户双击他们正在访问的页面上的任何单词(从内容脚本),我想知道如何调用函数.类似于Google Dictionary扩展的东西.我已经检查了扩展中的代码,但它没有缩进(编译/最小化)所以我决定在这里提出这个问题.一段代码就好了.提前致谢 :)

google-chrome double-click google-chrome-extension

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

Django模型中的Python factory_boy库m2m?

我目前正在使用factory_boy我的测试中创建灯具. Factory_boydocs仅提到了SubFactory哪些可能就像ForeignKey模型中的字段一样.但是,ManyToMany协会没有任何内容.如果我有一个以下Post模型,我将如何为它创建一个工厂?

class Post(models.Model):
    title = models.CharField(max_length=100)
    tags = models.ManyToManyField('tags.Tag')

class PostFactory(factory.Factory):
    FACTORY_FOR = Post

    title = 'My title'
    tags = ???
Run Code Online (Sandbox Code Playgroud)

python testing django factory fixtures

10
推荐指数
3
解决办法
2528
查看次数

Android发送短信在SMS线程中可见(无GUI)

我需要的是:
- 发送没有GUI交互的短信(选择发送短信的客户端)
- 必须在从"content:// mms-sms/conversations /"+ threadId查询的线程中看到短信

目前我正在使用SMSManager:

SmsManager sms = SmsManager.getDefault();
sms.sendTextMessage(phone, null, message, null, null);  
Run Code Online (Sandbox Code Playgroud)

有没有办法在所有设备上执行此操作,考虑到每个设备都有不同的SMS应用程序.提前致谢.

sms android

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

C++ 运算符重载顺序

可能的重复:
C++ 中的运算符重载为 int + obj

我重写 * 运算符如下:

Point Point::operator *(float scale){
    Point point(this->x*scale, this->y*scale);
    return point;
}
Run Code Online (Sandbox Code Playgroud)

我怎样才能解决这个问题:

Point p1 (5.0, 10.0);
Point p2 = p1*4; //works fine
Point p3 = 4*p1  //error: no match for 'operator*' 
Run Code Online (Sandbox Code Playgroud)

c++ overriding operator-keyword

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

Python模拟返回值

通常,在使用模拟时,我会有

from mock import Mock

m = Mock()
m
<Mock id='4334328720'>
Run Code Online (Sandbox Code Playgroud)

是否可以更改此输出?

python mocking

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

Google App Engine上的Python中的Unicode

我需要发出一个POST请求,其中的数据可能是非ascii(中文,日文字符).我需要将输入转换为unicode并使用utf-8进行编码.我是这样做的:

foo = unicode(self.request.get('foo'), 'utf-8') #convert to unicode
foo = foo.encode('utf-8')                       #encode with utf-8
data = {'foo': foo}
payload = urllib.urlencode(data)
Run Code Online (Sandbox Code Playgroud)

但是,我在日志中不断收到此错误:

TypeError:不支持解码Unicode

python unicode google-app-engine non-ascii-characters

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

使用AND OR运算符的Bash条件

我有一个bash shell,可以选择月份(mm)和年份(yyyy)或者时间(mmyyyy).我可以解析选项并将它们分配给变量.现在,我需要一些条件来检查这些变量.我需要的是:if(月和年)或时间然后继续显示用法.这是我的代码,似乎没有用.

if [[ -z $MONTH && -z $YEAR ]] || [[ -z $TIME ]]; then
    usage
    exit 1
else
    if [[ -z $TIME ]]; then
        echo $MONTH$YEAR
    else
        echo $TIME
    fi
fi
Run Code Online (Sandbox Code Playgroud)

bash shell if-statement operators sh

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