0

モック/パッチ フレームワークを理解しようとしていますが、問題があります。ここに私の簡略化されたコードがあります:

file_a.py
class A:
  def f(self): 
    b = B()
    b.g()
    b.h()

file_b.py
class B:
  def g(self):
    return network_requests(...)

  def h(self):
    return "This is should not be mocked."

file_test.py
class SomeTests:
  def setUp(self):
    with patch('file_b.B', autospec=True) as mock:
      mock.g.return_value = "Mocked value"
      mock.side_effect = lambda : B()
    self.a = A()

  def test(self):
    self.a.f()

B.g基本的に、私はテスト内でのみモックしたいのですが、 B.h. https://docs.python.org/3/library/unittest.mock-examples.html#partial-mockingからアイデアを得ましたB.gが、まだ嘲笑されていません。

ありがとうございました!

4

1 に答える 1