develop
bicijinlian 6 years ago
parent 2615d3dedf
commit 98e4059cb7

@ -17,15 +17,52 @@ namespace xUnitStudy.WebApi.Test
{
public class StudentBllTest:IDisposable
{
private StudentBll bll;
#region 准备
private StudentBll actualBll;
public StudentBllTest()
{
bll = new Bll.StudentBll();
//这里创建和设置需要注入的IDal。当然也可以创建和设置直接注入。
actualBll = new Bll.StudentBll();
}
#endregion
[Fact]
public void GetTuitionTest()
public void Students_Test()
{
IStudentBll actual_Bll = new StudentBll();
List<Student> studentsFromProperty = actual_Bll.Students;
List<Student> studentsFromMethod = actual_Bll.GetAll();
Assert.Equal(studentsFromMethod, studentsFromProperty);
}
[Fact]
public void GetAll_Test()
{
List<Student> students = actualBll.GetAll();
Assert.Equal(actualBll.Students, students);
}
[Fact]
public void GetStudentById_Test()
{
var studentId = 1;
Student student = actualBll.GetStudentById(studentId);
Assert.NotNull(student);
Assert.Equal(studentId, student.Id);
}
/// <summary>
/// 获取学费
/// 属性注入IDal Mock对象
/// </summary>
[Fact]
public void GetTuition_UseMoq_Test()
{
// #准备
Mock<IStudentDal> mockStudentDal = new Mock<IStudentDal>();
mockStudentDal
.Setup(m => m.GetStudentById(2))
@ -33,18 +70,23 @@ namespace xUnitStudy.WebApi.Test
(
new Student() { Id = 2, Name = "小小张", Age = 95 }
);
//属性注入
bll.dal = mockStudentDal.Object;
var student = bll.GetStudentById(2);
var tuition = bll.GetTuition(2);
//属性注入,也可以使用构造函数注入
actualBll.dal = mockStudentDal.Object;
// #使用
var student = actualBll.GetStudentById(2);
var tuition = actualBll.GetTuition(2);
// #断言
Assert.Equal(student.Id + student.Age, tuition);
}
#region 清理
public void Dispose()
{
}
#endregion
}
}

Loading…
Cancel
Save