Я хочу заменить IDBCommand на использование NSubstitue. Я должен подставить поле CommandText, что я и сделал
string settedCommandText=string.Empty;
IDbCommand fakeCommand = Substitute.For<IDbCommand>();
command.CommandText =Arg.Do<string>(x => settedCommandText = x);
Хорошо, но компилятор выдает ошибку:
CA2100 Строка запроса, переданная в «IDbCommand.CommandText.set(string)» в «DriverTest.RevertCommandSendRevertInstruction()», может содержать следующие переменные «Arg.Do(...)». Если какая-либо из этих переменных может быть получена из пользовательского ввода, рассмотрите возможность использования хранимой процедуры или параметризованного SQL-запроса вместо построения запроса с помощью конкатенации строк.
Как я могу переписать этот код, не подавляя эту ошибку. Я не хочу использовать System.Diagnostics.CodeAnalysis.SuppressMessage
fakeCommand.CommandText
после тестового действия. - person David Tchepak   schedule 07.08.2016