Вот эта ошибка: «Невозможно создать прокладку для System.Data.SqlClient.SqlDataReaderSmi: теперь тип теперь доступен для экспорта или сборки (System.Data.4.0.0.0.Fakes .)Cannote generate shim для System.Data.SqlClient.SqlDataReaderSmi
Вот мой код:
<Fakes xmlns="http://schemas.microsoft.com/fakes/2011/" Diagnostic="true">
<Assembly Name="System.Data" Version="4.0.0.0"/>
<StubGeneration>
<Clear/>
</StubGeneration>
<ShimGeneration>
<Clear/>
<Remove FullName="System.Data.SqlClient"/>
<!--Added Classes-->
<Add FullName="System.Data.SqlClient.SqlCommand!"/>
<Add FullName="System.Data.SqlClient.SqlConnection!"/>
<Add FullName="System.Data.SqlClient.SqlDataRead"/>
</ShimGeneration>
</Fakes>
в моих модульных тестах я насмешливый SqlDataReader как так:
var statReqReader = new ShimSqlDataReader()
{
Read =() =>
{
if (dsrIndexCounter < testCaseCount)
{
dsrIndexCounter++;
return true;
}
return false;
},
ItemGetString = (val) =>
{
// [] operator
return dtStatReq.Rows[dsrIndexCounter - 1][val];
}
};
в общем, мне нужно использовать Фальшивки в моем тестировании Unit , При попытке удалить следующую строку о SqlDataReader в Подделки файл
<Add FullName="System.Data.SqlClient.SqlDataRead"/>
Я дал следующее сообщение об ошибке:
«Тип или пространство имен имя„ShimSqlDataReader“не может быть найден (вы отсутствует с помощью директивы или ссылка на сборку?)
Я дразнить SqlDataReader и нужно использовать Фальшивок. Что я делаю неправильно?
Почему? У вас уже есть интерфейс и абстрактный базовый класс, который вы могли бы использовать. –
Что такое «SqlDataReaderSmi»? –
@JonathanAllen Я обновил вопрос, чтобы перейти к более подробному описанию. – MStrad