Вот ошибка: «Невозможно сгенерировать прокладку для System.Data.SqlClient.SqlDataReaderSmi: тип теперь виден для экспорта или сборки (System.Data.4.0.0.0.Fakes).
Вот мой код:
<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];
}
};
В общем, мне нужно использовать подделки в моем модульном тестировании. Когда я пытаюсь удалить следующую строку о SqlDataReader в файле Fakes
<Add FullName="System.Data.SqlClient.SqlDataRead"/>
Мне дают следующую ошибку:
«Тип или имя пространства имен« ShimSqlDataReader »не удалось найти (вам не хватает директивы использования или ссылки на сборку?)
Я издеваюсь над SqlDataReader и мне нужно использовать Fakes. Что я делаю не так?