如何检查 py.test 装置中的行为?
How to check behavior in py.test fixtures?
在 C# 中,我可以使用 Moq 创建模拟对象,我可以用它来检查是否调用了某些东西。在此示例中,我将检查 MyModelClass.Bar()
函数是否至少调用了一次 IMyInterface.Foo()
:
[TestMethod]
public void TestBar() {
var mock = new Mock<IMyInterface>();
var systemUnderTest = new MyModelClass(mock.Object);
systemUnderTest.Bar();
// Let the test fail, if Foo() was not called at least once
mock.Verify(x => x.Foo(), Times.AtLeastOnce());
}
使用 pytest 在 Python 中编程,实现相同目标的最佳方法是什么?或者我应该使用其他测试框架来做类似的事情吗?
我刚刚发现 Mock,一个可以满足我要求的测试库:
from mock import Mock
def test_bar():
mock = Mock()
system_under_test = MyModelClass(mock)
system_under_test.bar()
mock.foo.assert_called_once_with()
在 C# 中,我可以使用 Moq 创建模拟对象,我可以用它来检查是否调用了某些东西。在此示例中,我将检查 MyModelClass.Bar()
函数是否至少调用了一次 IMyInterface.Foo()
:
[TestMethod]
public void TestBar() {
var mock = new Mock<IMyInterface>();
var systemUnderTest = new MyModelClass(mock.Object);
systemUnderTest.Bar();
// Let the test fail, if Foo() was not called at least once
mock.Verify(x => x.Foo(), Times.AtLeastOnce());
}
使用 pytest 在 Python 中编程,实现相同目标的最佳方法是什么?或者我应该使用其他测试框架来做类似的事情吗?
我刚刚发现 Mock,一个可以满足我要求的测试库:
from mock import Mock
def test_bar():
mock = Mock()
system_under_test = MyModelClass(mock)
system_under_test.bar()
mock.foo.assert_called_once_with()