[英]How to write a C# unit test in Visual Studio?
这是我的第一次单元测试,想要一些帮助清除我对编写单元测试过程的看法。
我想编写一个测试方法来添加一个新用户 - 在我的库类中使用我的AddUser方法。
Document doc = new Document();
[TestMethod]
public string AddUser()
{
string name = doc.AddUser("Testing User");
Assert.IsNotNull(name);
}
我在构建时遇到的错误:
无法将类型
void
隐式转换为string
这是我的AddUser
方法:
public void AddUser(string newUserName)
{
using (var db = new DataContext())
{
User user = new User()
{
FullName = newUserName,
ID = Guid.NewGuid()
};
db.Users.InsertOnSubmit(user);
db.SubmitChanges();
}
}
您的方法没有返回值:
public void AddUser
^^^^ no return value
所以你不能把它存储到一个字符串中:
string name = doc.AddUser("Testing User");
^^^^^^^^^^^ AddUser has no return value
确保从AddUser(string newUserName)
方法返回名称。
替换你的方法就像
public String AddUser(string newUserName)
{
using (var db = new DataContext())
{
User user = new User()
{
FullName = newUserName,
ID = Guid.NewGuid()
};
db.Users.InsertOnSubmit(user);
db.SubmitChanges();
}
return newUserName;
}
AddUser
不返回任何内容。
AddUser
是作为方法编写的,而不是类。 您的测试尝试将其称为方法,但该方法为void,它不返回值。
简单来说,你不能将void分配给字符串。
要使其工作,您可以通过两种方式执行:使您的方法AddUser
return
string
类型或向method
添加额外parameter
,并为此parameter
使用keyword
out
希望它有所帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.