benim denetleyicisiBir ISingleResult öğesini nasıl eşleştirebilirim? Yapmalımıyım? ya da daha iyi bir yöntem var mı?
public ActionResult Index()
{
using (NorthwindDataContext db = new NorthwindDatacontext())
{
var results = db.GetRecordSets(arg1, ....).ToList();
// use results as list
}
return View();
}
böyle bir eylem yöntemine sahip ve bunu (inşa edilmiştir sonra başlamadan önce evet, öncesinde değil ... ama kod yazılmıştır testleri yapmaya başlamak istedi ... yani TDD kullanın)
ve ben
public delegate NorthwindDatacontext ContextBuilderDelegate();
public ContextBuilderDelegate ContextBuilder { get; set; }
böyle yapıcı bir şey ekleyebilirim ... böyle kontrolöre bunun gibi bir özellik ekleyerek anladım
Bunu kullanmak için hiçbir yol buldu NorthwindDatacontext tüm yöntemler returnType olarak ISingleResult kullandıkları içinContextBuilder =() => new NorthwindDatacontext();
sonra NorthwindDatacontext
var controller = new MyController();
var mockDataContext = new Mock<NorthwindDatacontext>();
controller.ContextBuilder =() => mockDataContext.Object;
Ama ... bir mock ile ContextBuilder özelliğini ayarlayarak ActionMethod test edebilir ve yapamıyorum Bu arayüzle bir nesne oluşturmanın yolunu bulmak. Bu
var theResult = new List<GetRecordSetsResult>();
// fill the data structure here with the provided result...
mockDataContext.Setup(c => c. GetRecordSets()).Returns(theResult as
ISingleResult<GetRecordSetsResult>);
denedim ama ISingleResult dönüştürüldüğünde theResult boş olduğu için çalışmaz.
Bu şekilde test etmek için bir ISingleResult nesnesi oluşturmanın bir yolu var mı, yoksa burada bir şeyler yapmak için yanlış bir yol yapıyorum? GetEnumerator()
- Advance
ile kullanımınıza son verdim. Teşekkürler, sorunuz ve ilk cevap gerçekten bana sorunu çözmeme yardımcı oldu. – Odd