develop
bicijinlian 6 years ago
parent 2615d3dedf
commit 98e4059cb7

@ -17,15 +17,52 @@ namespace xUnitStudy.WebApi.Test
{ {
public class StudentBllTest:IDisposable public class StudentBllTest:IDisposable
{ {
private StudentBll bll; #region 准备
private StudentBll actualBll;
public StudentBllTest() public StudentBllTest()
{ {
bll = new Bll.StudentBll(); //这里创建和设置需要注入的IDal。当然也可以创建和设置直接注入。
actualBll = new Bll.StudentBll();
} }
#endregion
[Fact] [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>(); Mock<IStudentDal> mockStudentDal = new Mock<IStudentDal>();
mockStudentDal mockStudentDal
.Setup(m => m.GetStudentById(2)) .Setup(m => m.GetStudentById(2))
@ -33,18 +70,23 @@ namespace xUnitStudy.WebApi.Test
( (
new Student() { Id = 2, Name = "小小张", Age = 95 } 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); Assert.Equal(student.Id + student.Age, tuition);
} }
#region 清理
public void Dispose() public void Dispose()
{ {
} }
#endregion
} }
} }

Loading…
Cancel
Save