Sono using Microsoft.VisualStudio.TestTools.UnitTesting;
ma il metodo che ho contrassegnato come [TestInitialize] non viene chiamato prima del test. Non ho mai usato questa particolare struttura di test prima, ma in ogni altro framework c'è sempre un modo di registrare un metodo di Setup e TearDown che verrà eseguito automaticamente prima e dopo ogni singolo test. Non è questo il caso del framework di testing dell'unità strumenti di test dello studio visivo?perché TestInitialize non viene richiamato automaticamente?
[TestClass]
public class RepoTest
{
private const string TestConnectionString = @"Server=localhost\SQL2014EXPRESS64; Database=RepoTest; Trusted_Connection=True;";
private const string MasterConnectionString = @"Server=localhost\SQL2014EXPRESS64; Database=master; Trusted_Connection=True;";
[TestInitialize]
private void Initialize()
{
using(var connection = new SqlConnection(MasterConnectionString))
using(var command = new SqlCommand(Resources.Initialize, connection))
{
command.ExecuteNonQuery();
}
}
[TestCleanup]
private void Cleanup()
{
using (var connection = new SqlConnection(MasterConnectionString))
using (var command = new SqlCommand(Resources.Cleanup, connection))
{
command.ExecuteNonQuery();
}
}
[TestMethod]
public void CreateARepo()
{
var repo = new Repo(TestConnectionString);
}
}
Probabilmente deve essere pubblico. –