ASP MVC 응용 프로그램을 단위 테스트하고 있습니다. 이제 저장소를 테스트하고 있습니다. 나는 데이터베이스에 atributes ID (기본 키 int), ItemName (varchar), IsValid (비트 - true/false)가있는 테이블이 있습니다. 저장소에는 Create, Update, Delete와 같은 메소드가 있으며 단위 테스트로 테스트하고 있습니다 (테스트는 atribute isValid와 함께 작동합니다). 업데이트를 만들기의 단위 테스트를 실행 한 후단위 테스트 저장소. DBContext가 잘못된 값을 반환하는 이유는 무엇입니까?
public IEnumerable<Item> GetAllItems()
{
return _db.ItemSet.Where(w => w.isValid);
}
테스트 getAllWorkitem 방법 또 하나 개의 단위 테스트 방법이 삭제도 방법 getAllItems 있습니다.
[TestMethod]
public void GetAllItems_Test()
{
//Arrange
var allWorkitems = _ws.GetAllItems();
//Act
//Assert
foreach (Item currentItem in allItems)
{
Assert.AreEqual(true, currentItem.Valid);
}
}
모든 테스트를 별도로 실행하면 정상적으로 작동합니다. 모든 테스트를 함께 실행하면 문제가 발생합니다. var allWorkItems에는 isValid = false 및 isValid = true 항목이 있습니다.
dbContext는 테스트 속도가 더 빠른 쿼리와 데이터를 캐싱합니다. 이 chaching을 불가능하게 할 posibitilies가 있습니까? 아니면 다른 문제가 있습니까?
모든 테스트 사이에서'_ws' 객체를 공유하고 있습니까? – DavidG
예 하나의 dbContext와 하나의 dbContext가 있습니다. – Fox