我想用 NSubstitue 替换 IDBCommand。我必须替换字段 CommandText,我做到了
string settedCommandText=string.Empty;
IDbCommand fakeCommand = Substitute.For<IDbCommand>();
command.CommandText =Arg.Do<string>(x => settedCommandText = x);
好的,但是编译器抛出错误:
CA2100 在“DriverTest.RevertCommandSendRevertInstruction()”中传递给“IDbCommand.CommandText.set(string)”的查询字符串可能包含以下变量“Arg.Do(...)”。如果这些变量中的任何一个可能来自用户输入,请考虑使用存储过程或参数化 SQL 查询,而不是使用字符串连接构建查询。
如何在不抑制此错误的情况下重写此代码。我不想用System.Diagnostics.CodeAnalysis.SuppressMessage