空洞在我的測試,我定義爲數據List<IUser>
在一些記錄。模擬更新方法返回與起訂量
我想建立一個最小起訂量的梅索德Update
,該方法接收用戶id
和string
進行更新。
然後我得到了IUser
和更新屬性LastName
我嘗試這樣做:
namespace Tests.UnitTests
{
[TestClass]
public class UsersTest
{
public IUsers MockUsersRepo;
readonly Mock<IUsers> _mockUserRepo = new Mock<IUsers>();
private List<IUser> _users = new List<IUser>();
[TestInitialize()]
public void MyTestInitialize()
{
_users = new List<IUser>
{
new User { Id = 1, Firsname = "A", Lastname = "AA", IsValid = true },
new User { Id = 1, Firsname = "B", Lastname = "BB", IsValid = true }
};
Mock<IAction> mockUserRepository = new Mock<IAction>();
_mockUserRepo.Setup(mr => mr.Update(It.IsAny<int>(), It.IsAny<string>()))
.Returns(???);
MockUsersRepo = _mockUserRepo.Object;
}
[TestMethod]
public void Update()
{
//Use the mock here
}
}
}
但我得到這個錯誤:無法解決返回symbole
你有一個ID ?
class User : IUser
{
public int Id { get; set; }
public string Firsname { get; set; }
public string Lastname { get; set; }
public bool IsValid { get; set; }
}
interface IUser
{
int Id { get; set; }
string Firsname { get; set; }
string Lastname { get; set; }
bool IsValid { get; set; }
}
interface IAction
{
List<IUser> GetList(bool isActive);
void Update(int id, string lastname)
}
class Action : IAction
{
public IUser GetById(int id)
{
//....
}
public void Update(int id, string lastname)
{
var userToUpdate = GetById(id);
userToUpdate.LastName = lastname;
//....
}
}
什麼是你想測試? – 2013-04-04 08:20:24
我想確定,字段姓氏已被正確更新或不是 – 2013-04-04 08:38:23
@ Kris-I,目前無法通過您的公共界面進行檢查。您可能想要返回更新的用戶或方法中的姓氏。 – 2013-04-04 08:41:09