0
Unit Testing을 처음 사용했습니다. 단위 테스트는 아래에서 계속됩니다. Student.getCourse, unidergraduate.getCourse1 및 postgraduate.getcourse1이 테스트중인 것과 다른 값을 반환하기 때문에 실패 할 것으로 예상합니다. "학생 코스"<> "학생 코스 1".NUnit이 테스트가 성공적이라고 말했습니다.
Imports NUnit.Framework
Imports NMock
Imports StudentCL
Namespace Test
<TestFixture()>
Public Class StudentTest
Private _mocks As MockFactory
Private _StudentMock As Mock(Of Student)
Private _GraduateMock As Mock(Of Graduate)
Private _UndergraduateMock As Mock(Of UnderGraduate)
<SetUp()>
Public Sub SetUp()
_mocks = New MockFactory()
_StudentMock = _mocks.CreateMock(Of Student)()
_GraduateMock = _mocks.CreateMock(Of Graduate)()
_UndergraduateMock = _mocks.CreateMock(Of UnderGraduate)()
End Sub
<Test()>
Public Sub getStudentCourse()
_StudentMock.Expects.One.Method(Function(x) x.getCourse1).WillReturn("Student Course1")
End Sub
<Test()>
Public Sub getGraduateCourse()
_GraduateMock.Expects.One.Method(Function(x) x.getCourse1).WillReturn("Graduate Course1")
End Sub
<Test()>
Public Sub getUndergraduateCourse()
_UndergraduateMock.Expects.One.Method(Function(x) x.getCourse1).WillReturn("Undergraduate Course1")
End Sub
End Class
End Namespace
Public MustInherit Class Student
Public Overridable Function getCourse1() As String
Return "Student course"
End Function
End Class
Public Class Graduate
Inherits Student
Public Overrides Function getCourse1() As String
Return "Graduate course"
End Function
End Class
Public Class UnderGraduate
Inherits Student
Public Overrides Function getCourse1() As String
Return "Undergraduate course"
End Function
End Class
무엇이 누락 되었습니까?
감사합니다. +1. Undergraduate.getCourse1에서 "학부 과정 1"을 반환하는 경우 다음 줄은 테스트를 보장하지 않습니다. "Undergraduate Course1": _UndergraduateMock.Expects.One.Method (Function (x) x.getCourse1) .WillReturn ("학부 과정 1") – w0051977
모의 사용. 모의가 사용되지 않으므로 상태가 확인되지 않았습니다. 또한, 모의 클래스의 실제 인스턴스가 아닙니다. 귀하의 코드는 클래스를 테스트하지 않고 단순히 클래스의 가짜 버전을 생성하고 x.getCource1이 호출되면 "학부생 Cource1"을 반환한다고 말합니다. 'Expects.One'상태를 확인하기 위해 시험이 끝날 때 모의 테스트를 실시해야합니다. 귀하의 경우에는 모의가 필요 없습니다. –
감사합니다. Expects.one.method 란 무엇입니까? 나는 어떤 참고 자료도 찾을 수 없다. – w0051977