Ma tot joc cu LINQ 2 SQL de citva timp– si sunt impresionat de cit de repede te poti misca in el (chit ca viitorii programatori nu trebuie sa invete sql cu el … e suficient sa scrii sintaxa in VB.NET /C# de Where si ti-o converteste el … impresionant)
Oricum pentru testarea obiectelor ma gindisem la Linq 2 Objects – ca sa nu tot dau in Baza de date( sindromul NIH) . Din pacate, nu am reusit sa fac ceva – asa ca a doua solutie, google, a fost cu success.
De la adresa http://andrewtokeley.net/Images/andrewtokeley_net/Downloads/LinqToSQL.zip
gasiti un proiect de testare, bazat tot pe Linq2Objects – mai exact, pe List<>.
Ca sa il folositi faceti asa:
Adaugati fisierele din folder-ul Interfaces , precum si cele din Mocks ( fara ExampleMockDatabase.cs)
Adaugati DataContextWrapper.cs
Adaugati, dupa exemplul ExampleMockDatabase.cs , BD a dvoastra( sa zicem MockAndreiMemoryDatabase ) si scrieti codul pentru CreateTables si PopulateTables
Trimiteti catre programul principal prin Inversion of control un IQueryable pentru tabela TabelaMea proprietatea TabelaMea din urmatorul cod:
public
class
AndreiFind
{
MockDataContextWrapper d = new
MockDataContextWrapper(new MockAndreiMemoryDatabase());
public
IQueryable<Tabela> TabelaMea
{
get
{
return d.Table< TabelaMea>().AsQueryable<TabelaMea >();
}
}
}
Descrierea autorului aici http://andrewtokeley.net/archive/2008/07/06/mocking-linq-to-sql-datacontext.aspx