Я хочу заменить IDBCommand на использование NSubstitue. я должен substitue поле CommandText, и я сделалNSubstitue для IDBCommand и ошибки CA2100
string settedCommandText=string.Empty;
IDbCommand fakeCommand = Substitute.For<IDbCommand>();
command.CommandText =Arg.Do<string>(x => settedCommandText = x);
Хорошо, но ошибка компилятора бросок:
CA2100 The query string passed to 'IDbCommand.CommandText.set(string)' in 'DriverTest.RevertCommandSendRevertInstruction()' could contain the following variables 'Arg.Do(...)'. If any of these variables could come from user input, consider using a stored procedure or a parameterized SQL query instead of building the query with string concatenations.
Как я могу переписать этот код, не подавляя эту ошибку. Я не хочу использовать System.Diagnostics.CodeAnalysis.SuppressMessage
Я не думаю, что вам понадобится Arg.Do. Просто подтвердите свойство 'fakeCommand.CommandText' после тестового действия. –