0
caleb created
Hi
I have a need to to run unit tests against my actual DB and am wondering how to do that. I'd imagine I just need to comment out a few lines in the Tests project, but as I am very new to ABP and Effort, I am not sure what to do.
Any help would be appreciated.
Thanks
2 Answer(s)
-
0
create one class like this.... include all table from your database
public class PRWEBSistemaBaseTesteDB { private readonly PRWEBDbContext _context; private readonly string _connectionString; public PRWEBSistemaBaseTesteDB(PRWEBDbContext context) { _connectionString = "Data Source=(localdb)\\MSSQLLocalDB;Initial Catalog=PRWEB2;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=True;ApplicationIntent=ReadWrite;MultiSubnetFailover=False;"; //Resolve<IAbpStartupConfiguration>().DefaultNameOrConnectionString = _connectionString; _context = context; } public void Build() { using (SqlConnection con = new SqlConnection(_connectionString)) { // // Open the SqlConnection. // con.Open(); // // The following code uses an SqlCommand based on the SqlConnection. // using (SqlCommand command = new SqlCommand("SELECT Id, Nome, TenantId, Data FROM Feriados", con)) using (SqlDataReader reader = command.ExecuteReader()) { while (reader.Read()) { _context.Feriado.Add( new Feriado { Id= reader.GetInt64(0), Nome = reader.GetString(1), TenantId = reader.GetInt32(2), Data = reader.GetDateTime(3) }); } } } } }
and in testBase, change
//Seed initial data for host AbpSession.TenantId = null; UsingDbContext(context => { // database fake //new PRWEBSistemaBaseTeste(context).Build(); // database new PRWEBSistemaBaseTesteDB(context).Build(); new InitialHostDbBuilder(context).Create(); new DefaultTenantCreator(context).Create(); });
-
0
Thanks @vnpedrofilipe :)