我尝试将User
模型添加到list
的{{1}}进行单元测试。以下是我的测试:
Users
我测试的方法:
[Fact]
public void Add_User_To_User_List()
{
//Given
var fakeGuid = new Guid("36a84feb-cd51-4f1f-9b19-6d8dc2c89d4a");
_jsonService.DeserializeObject<User>(_fakeUserJsonFile).Returns(_fakeUserList);
_guidService.NewGuid().Returns(fakeGuid);
_jsonService.SerializeObject(_fakeUserJsonFile, _fakeUpdatedUserList).Returns(true);
//When
var result = _userService.AddUser(_fakeUser);
//Then
What Goes Here?????
}
我只想测试传入方法的public bool AddUser(User user)
{
var userList = GetUsers();
user.ID = _guidService.NewGuid();
userList.Add(user);
var serializeObject = _jsonService.SerializeObject(_fileName, userList);
return serializeObject;
}
是否已添加到User
。显然,我真正测试的唯一代码是User List
,但我不知道怎么做才有人可以帮忙吗?
答案 0 :(得分:0)
您必须检查您的服务结果是否为idd,如您所愿:
//Then
Assert.IsTrue(result);
您的下一个测试可以测试AddUser失败的地方_jsonService.SerializeObject(_fakeUserJsonFile, _fakeUpdatedUserList).Returns(false);
和Assert.IsFalse(result);
答案 1 :(得分:0)
这样的事情:
Assert.Contains(_fakeUser, _fakeUserList);
由于您控制伪造的json服务返回哪个列表作为用户列表,您可以断言它在测试结束时包含正确的用户。