diff --git a/xUnitStudy.WebApi.Test/StudentBll/StudentBllTest.cs b/xUnitStudy.WebApi.Test/StudentBll/StudentBllTest.cs index d4ac5f6..c607e68 100644 --- a/xUnitStudy.WebApi.Test/StudentBll/StudentBllTest.cs +++ b/xUnitStudy.WebApi.Test/StudentBll/StudentBllTest.cs @@ -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 studentsFromProperty = actual_Bll.Students; + List studentsFromMethod = actual_Bll.GetAll(); + + Assert.Equal(studentsFromMethod, studentsFromProperty); + } + + [Fact] + public void GetAll_Test() + { + List 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); + } + + /// + /// 获取学费 + /// 属性注入:IDal Mock对象 + /// + [Fact] + public void GetTuition_UseMoq_Test() + { + // #准备 Mock mockStudentDal = new Mock(); 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 } }