Featured post
c# - How can I mock up an instance of my main Winform form to test some methods? -
i using moq (which new tdd period). , wanted moq instance of main winforms form test few methods on there. possible? constructor takes object of assembly().
i trying following attempts unsuccessful:
var mockmainform = new mock<mainform>(); mockmainform.setup(x => x.assembler).returns(new assembly()); return mockmainform.object;
but can't access properties or methods on object once returned. possible do?
but errors ( failed: system.argumentexception : expression not method invocation: x => x.assembler @ moq.expressionextensions.tomethodcall(lambdaexpression expression))
mocking using moq mock interfaces , virtual methods of class. assembler
property needs defined virtual
.
in case mocking windows form not mocking - has big bag of win32 stuff make tests brittle. if need unit test , mock form, create interface form needs implement , mock objects need interact form.
public interface ihasassembler { foo assembler {get; set;} } public class myform : ihasassembler { // }
then mock interface , not form:
mock<ihasassembler> mymock = new mock<ihasassembler>();
- Get link
- X
- Other Apps
Comments
Post a Comment