详细的文档在这里
http://pmock.sourceforge.net/overview.html
http://pmock.sourceforge.net/api/index.html
补充说明一下:
1。mock方法的种类
可以给mock 增加两种方法,一种是Stub,一种是Expectation两者的区别就是Stubs
不在mock's verification check 中,可以随意调用任意次数,而 Expectations 创建的
时候需要指定 once() at_least_once(), never() 等作为参数,来设置Expectations 的
行为并且会进行verification check,例如:
TestObj.stubs().method("test1")
TestObj.expects(once()).method("test3")
2。设置mock方法
在具体的设置方法的时候,可以通过两种方式来进行,一种是用method譬如
TestObj.stubs().method("test1"),这样就可以调用TestObj.test1()了,另一种是直接
写方法,譬如 TestObj.stubs().test2(),这样,就可以调用 TestObj.test2() 了
这两种方法是有差别的,通过method 来设置不能设置Argument expectations
TestObj.test1() 与 TestObj.test1( 1, 2 ) 都是可以的,但 TestObj.test2() ok,
TestObj.test2( 1, 2 ) 就会异常
3。参数与返回值的设置
可以用 eq string_contains 来设置 Argument expectations,譬如:
TestObj.expects(once()).test2( eq(1), eq(2) ) 这样,当test2的参数如果不是
1,2的话就会异常
可以用 will 来设置期待的返回值,return_value, return_value 作参数,譬如:
TestObj.expects(once()).test2( eq(1), eq(2) ).will( return_value(True) ),这样
在调用test2的时候,就会得到返回值为 True,如果不设置则返回为 None