在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中编程,实现相同的最佳方法是什么?或者我应该使用其他测试框架来做这样的事情吗?
答案 0 :(得分:0)
我刚刚发现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()