У меня есть приложение, которое использует структуру сущности. Я пишу блок-тест, в котором я хотел бы использовать тестирование, основанное на данных, из файла CSV.Связанный с данным модулем тестирования разрыв связи с сущностью объекта
Однако, когда я запускаю тест, я получаю сообщение об ошибке, что поставщик SQLServer не может быть загружен:
Initialization метод UnitTest.CalculationTest.MyTestInitialize бросил исключение. System.InvalidOperationException: System.InvalidOperationException: Платформа Entity Framework типа поставщик 'System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer' зарегистрирован в конфигурационном файле приложения для поставщика ADO.NET с инвариантным названием «System. Data.SqlClient ' не может быть загружен. Убедитесь, что присвоено имя сборки и что сборка доступна для запуска приложения.
- Если я извлекаю данные управляемые аспекты и просто проверить одно значение, то тест работает.
- Если я просто использую аспекты, управляемые данными, и удаляю материал Entity Framework, то тест работает.
Таким образом, его единственный, когда я пытаюсь использовать проверку данных с активной структурой сущности одновременно, получаю ошибку. Итак, где я здесь ошибся?
Вот мой метод испытания:
[TestMethod, TestCategory("Calculations")
, DataSource("Microsoft.VisualStudio.TestTools.DataSource.CSV"
, "ConvertedMeanProfileDepth.csv", "ConvertedMeanProfileDepth#csv"
, Microsoft.VisualStudio.TestTools.UnitTesting.DataAccessMethod.Sequential)
, DeploymentItem("ConvertedMeanProfileDepth.csv")]
public void ConvertedMeanProfileDepthTest()
{
ConvertedMeanProfileDepth target = new ConvertedMeanProfileDepth();
Decimal mpd = decimal.Parse(this.TestContext.DataRow["mpd"].ToString());
Decimal expected = decimal.Parse(this.TestContext.DataRow["converted"].ToString());
Decimal actual;
actual = target.Calculate(mpd);
Assert.AreEqual(expected, actual);
}