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) 一旦用户双击他们正在访问的页面上的任何单词(从内容脚本),我想知道如何调用函数.类似于Google Dictionary扩展的东西.我已经检查了扩展中的代码,但它没有缩进(编译/最小化)所以我决定在这里提出这个问题.一段代码就好了.提前致谢 :)
我目前正在使用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) 我需要的是:
- 发送没有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应用程序.提前致谢.
可能的重复:
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) 通常,在使用模拟时,我会有
from mock import Mock
m = Mock()
m
<Mock id='4334328720'>
Run Code Online (Sandbox Code Playgroud)
是否可以更改此输出?
我需要发出一个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
我有一个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) python ×4
mocking ×2
testing ×2
android ×1
bash ×1
c++ ×1
django ×1
double-click ×1
factory ×1
fixtures ×1
if-statement ×1
operators ×1
overriding ×1
patch ×1
sh ×1
shell ×1
sms ×1
unicode ×1
unit-testing ×1