小编Meh*_*omi的帖子

Python返回MagicMock对象而不是return_value

我有一个python文件a.py,其中包含两个类AB.

class A(object):
    def method_a(self):
        return "Class A method a"

class B(object):
    def method_b(self):
        a = A()
        print a.method_a()
Run Code Online (Sandbox Code Playgroud)

我想通过嘲笑method_b在课堂上B进行单元测试A.以下是testa.py用于此目的的文件内容:

import unittest
import mock
import a


class TestB(unittest.TestCase):

    @mock.patch('a.A')
    def test_method_b(self, mock_a):
        mock_a.method_a.return_value = 'Mocked A'
        b = a.B()
        b.method_b()


if __name__ == '__main__':
    unittest.main()
Run Code Online (Sandbox Code Playgroud)

我希望得到Mocked A输出.但我得到的是:

<MagicMock name='A().method_a()' id='4326621392'>
Run Code Online (Sandbox Code Playgroud)

我哪里做错了?

python python-unittest magicmock

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

确认两个pandas数据帧的相等性?

如何断言以下两个dataframes df1df2是平等的吗?

import pandas as pd
df1 = pd.DataFrame([1, 2, 3])
df2 = pd.DataFrame([1.0, 2, 3])
Run Code Online (Sandbox Code Playgroud)

输出df1.equals(df2)False.截至目前,我知道两种方式:

print (df1 == df2).all()[0]
Run Code Online (Sandbox Code Playgroud)

要么

df1 = df1.astype(float)
print df1.equals(df2)
Run Code Online (Sandbox Code Playgroud)

看起来有点凌乱.有没有更好的方法来进行这种比较?

python pandas

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

标签 统计

python ×2

magicmock ×1

pandas ×1

python-unittest ×1