Rhino Mock (5)使用技巧。
1。 如何控制方法的参数,根据参数返回不同的值,比如 true 和 false 的时候返回不同的值?
Q: erp.Expect(c => c.SendResult(100, true)).Return();
A: 1。可以通过写多个方法。
2。 这样的字段约束验证的用途也很明确了。
2。 Private 方法要不要测试
Q:是架构的问题,还是测试方法的问题
A:通常不测,不过可以通过Ncover看看覆盖率如何。
3。 数据库处理方法怎么测试?
Q:难道是使用cross-check?
A: maybe cross-check , or use script ..but this one can’t auto test,en,use insert/select/delete do corss-check.
4. mock vs strict
Q:理解区别
A:通常测试时有2中可能的需求,如下:
1。 需要测试的方法,并不需要考虑内部逻辑,只需要根据传入的参数,配置需要输出的结果。通常是mock获取数据库,获取一些其他难以获取的数据。()
2。 需要测试的方法,本身是包含复杂逻辑的,并且设计的情况也并不吧数据得出来,这个时候需要mock的时候,包含一定的内部逻辑。()
A: 1应该是strict,2是mock。貌似不是的,可以根据下面这个看。
To create a stub on a class, use the GenerateStub() method for creating the mock. Use this ONLY if you do not wish to set expectations on your mock. You only want to use the mock as a STUB
http://www.ayende.com/wiki/Rhino+Mocks+Method+Options+Interface.ashx