我有一个使用 FakeitEasy 伪造的服务,我正在尝试调用它的方法。这是代码
var client = container.Resolve<MyService>();
A.CallTo(() => client.GetUserProfile(userName)).Returns(null);
Run Code Online (Sandbox Code Playgroud)
GetUserProfile 方法在实际实现中返回一些对象。但出于某种原因,我希望此方法返回空值。我正在使用上面的代码来实现这个目的,但它返回的是 Fake 对象而不是 null。
这是我正在使用的测试设置
[Test]
public void MyTest(string sitecollectionGuid, string customerName)
{
var mockHttpContext = SetupHttpContext(sitecollectionGuid, customerName);
var client = container.Resolve<MyService>();
A.CallTo(() => client.GetUserProfile(userName)).Returns(null);
var controllerContext = new ControllerContext(mockHttpContext, new RouteData(), A.Fake<ControllerBase>());
controller.ControllerContext = controllerContext;
var result = controller.CheckUsername(userName);
Assert.IsNotNull(result, "Result is not as expected");
}
Run Code Online (Sandbox Code Playgroud)
制作方法如下
public UserDAO GetUserProfile(string userName)
{
UserDAO objUserProfile = new UserDAO();
IUsers objUsers = (IUsers)Global.Container["Users"];
IUser objUser = objUsers.GetByUserName(userName);
if (objUser == …Run Code Online (Sandbox Code Playgroud)