我正在对一些单元测试进行编码,并且想知道,更换参数是否属于Typemock的责任?
例如,我有一个依赖于对象的方法,在这个对象的构造函数中有一些要分析的程序集(一个字符串数组)。
我是否会在正确的轨道上模拟包含该方法的类,然后传入我自己的参数?但这本身就有其自身的开销。交换正在测试的实际类的参数会不会更好?这可能吗?
最后,我似乎已经意识到,如果我想要轻松测试代码,而不是我想要模拟的方法级变量,它们应该是字段,因此可以从外部访问。构造函数集变量应分配给作为字段的引用。你同意这个吗?
我知道这可能是一个愚蠢的问题,但我没有多少使用嘲笑。
由于
答案 0 :(得分:0)
如果您要发布您尝试做的代码示例,我可以给出更好的答案
基本上你想要模拟你想要忽略的类,所以大多数时候你可以将null或任何默认值传递给伪造的方法,因为你真的不关心伪造类型的实现。
在你要调用构造函数并传递参数的后方情况下,你可以重载
Isolate.Fake.Instance<>()接受默认构造函数行为和要传递的参数列表作为参数
var fake = Isolate.Fake.Instance<Foo>(Members.ReturnRecursiveFakes, ConstructorWillBe.Called, BaseConstructorWillBe.Ignored, "First Argument", "Second argument");
关于第二个问题:
不应该从外部访问First Fields,事实上伪造字段更难。改为使用属性
其次,当您需要保持类的状态而不是使用局部变量时,请使用字段/属性。