我試圖單元測試將User
模型添加到list
的。下面是我的測試:xUnit單元測試將模型數據添加到模型列表中
[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
。所以很顯然,我真正測試的唯一代碼是userList.Add(user);
,但我只是不知道如何做到這一點,任何人都可以幫忙嗎?
所以我斷言該方法是真的,即使我沒有測試那部分測試,我測試'userList.Add(user);'方法的一部分? – Paddy1990
我已經完成了這一步,當它到達'var serializeObject = _jsonService.SerializeObject(_fileName,userList);','serializeObject'返回true,現在我看了'_fileName'和'userList'參數,它和我的模擬數據,但它返回false?我已經有了一個'_jsonService.SerializeObject(_fileName,userList)'的單元測試;'每次都會傳遞,我的模擬數據是正確的,所以我不知道它爲什麼會失敗呢?它在'_fakeUpdatedUserList'參數上觸發,但它是正確的,所以我不知道爲什麼在這個階段失敗 – Paddy1990
是否將_jsonService注入到您的用戶邏輯類中?看來你正在呼叫服務而不是嘲弄的服務。 – Peter