我很难想象这一点。
以下是该方案。
我的单元测试
public void AddStudentTest()
{
StudentService target = new StudentService (new Mock1(),new Mock2(), new Mock3(), new Mock4(), new Mock5());
string name = "Sample Name";
int actual = 0;
string[] userNames = new string[] {"Sample User Name" };
string[] roleName = new string[] {"Sample Role" };
target.AddStudent (name, userNames, roleNames);
Assert.IsNotNull(actual);
}
我在Mock 3中测试一个方法。不幸的是,方法返回类型是VOID。我需要检查交易是否成功。我在这个方法“AddStudent”上添加了一个字段resultFlag但是如何从单元测试中访问它?
答案 0 :(得分:0)
正如您所说的那样,您确实在测试Mock3方法,您可以访问该代码,因此我相信您的测试用例可能会被重写为
public void AddStudentTest()
{
var dbMock = new Mock3()
StudentService target = new StudentService (new Mock1(),new Mock2(), dbMock, new Mock4(), new Mock5());
string name = "Sample Name";
int actual = 0;
string[] userNames = new string[] {"Sample User Name" };
string[] roleName = new string[] {"Sample Role" };
target.AddStudent (name, userNames, roleNames);
Assert.IsNotNull(dbMock.Students.FirstOrDefault())
}