이것은 엔티티와 함께 작동하고 db에 저장 한 다음 단위 테스트를 작성할 수 없기 때문에 문제를 일으키는 샘플 함수입니다. 확인해보십시오 :RIA 서비스 DB에 레코드를 삽입하는 함수를 단위 테스트하는 방법은 무엇입니까?
// this class exists in a Silverlight Class Library
public class EmployeeSaver
{
....
public void Go()
{
Employee e = new Employee();
e.Name="Jeremiah";
... // Other stuff that really needs to be tested
_DataContext.Employees.Add(e);
_DataContext.SubmitChanges();
}
}
RIA 서비스의 특성상 DomainService는 Silverlight Unit Testing 프레임 워크에서 실행되지 않습니다. 이것은 내가 단위 테스트를 할 때 RIA에 접근 할 수 없다는 것을 의미합니다.
우리는 모의 데이터베이스에 대해 생각해 봤지만 실제로이 클래스는 DB에 추가 할 엔터티 (Employee)를 만듭니다. 이것은 Mock Databases가이 엔티티를 사용하지 않고 원래 엔티티와 비슷한 MockEntity 클래스를 사용하기 때문에 문제가됩니다.
우리는 RIA 자체를 테스트하는 것이 아니라 RIA가 생성 한 엔티티를 사용하는 방법을 알고 있습니다.
[TestMethod]
public void Test()
{
EmployeeSaver s = new EmployeeSaver();
s.Go();
Assert.IsEqual(DataContext.Employees.Last().Name, "Jeremiah");
}
어떻게이 기능을 테스트 할 수 있습니다
내 최종 목표는이 유사한 함수를 작성하는 것? 어떤 테스트 프레임 워크를 사용해야합니까? Silverlight Testing Framework를 사용하고 있습니다.
터프 하나 ...... ( –
여러 계층을 테스트하는 것은 결코 쉬운 일이 아닙니다 ... 모의 테스트, 별도 테스트 또는 다시 고려할 것인가? –